From 5ed63f9a14320665dd5c4e945403a76457a65313 Mon Sep 17 00:00:00 2001 From: ac79b0c6 <105047743+ac79b0c6@users.noreply.github.com> Date: Thu, 12 May 2022 14:16:47 +0800 Subject: update mkvlib:add list missing fonts --- mkvlib/c/README.md | 7 ++++--- mkvlib/c/exports.go | 4 ++-- mkvlib/c/sdk.cs | 8 ++++---- mkvlib/c/sdk.py | 4 ++-- 4 files changed, 12 insertions(+), 11 deletions(-) (limited to 'mkvlib/c') diff --git a/mkvlib/c/README.md b/mkvlib/c/README.md index 79d7b97..7ac28dd 100644 --- a/mkvlib/c/README.md +++ b/mkvlib/c/README.md @@ -195,10 +195,11 @@ //return: 是否全程无错 ``` - ```c - char* GetFontsList(char* files, logCallback lcb); - //取得数组内字幕需要的全部字体 + char* GetFontsList(char* files, char* fonts, logCallback lcb); + //取得数组内字幕需要的全部字体,如果设置了Check则会试图匹配字体,并输出匹配失败的列表. //files: 字幕文件路径的json的数组 - //return: json格式的数组 + //fonts: 字体文件夹路径 + //return: json格式的二维数组(第一个成员是需要的字体名称,第二个成员是没有匹配成功的字体名称.) ``` - ```c void NRename(bool n); diff --git a/mkvlib/c/exports.go b/mkvlib/c/exports.go index b24b345..f1537e3 100644 --- a/mkvlib/c/exports.go +++ b/mkvlib/c/exports.go @@ -132,14 +132,14 @@ func A2P(a2p, apc bool, pr, pf *C.char) { } //export GetFontsList -func GetFontsList(files *C.char, lcb C.logCallback) *C.char { +func GetFontsList(files, fonts *C.char, lcb C.logCallback) *C.char { if !checkInstance() { return cs("") } obj := make([]string, 0) if json.Unmarshal([]byte(gs(files)), &obj) == nil { _files := obj - list := getter.GetProcessorInstance().GetFontsList(_files, _lcb(lcb)) + list := getter.GetProcessorInstance().GetFontsList(_files, gs(fonts), _lcb(lcb)) data, _ := json.Marshal(list) return cs(string(data)) } diff --git a/mkvlib/c/sdk.cs b/mkvlib/c/sdk.cs index 50be1e8..379396b 100644 --- a/mkvlib/c/sdk.cs +++ b/mkvlib/c/sdk.cs @@ -50,7 +50,7 @@ public static class mkvlib static extern void A2P(bool a2p, bool apc, IntPtr pr, IntPtr pf); [DllImport("mkvlib.so")] - static extern IntPtr GetFontsList(IntPtr files, logCallback lcb); + static extern IntPtr GetFontsList(IntPtr files, IntPtr fonts, logCallback lcb); [DllImport("mkvlib.so")] static extern void Cache(IntPtr ccs); @@ -155,11 +155,11 @@ public static class mkvlib A2P(a2p, apc, cs(pr), cs(pf)); } - public static string[] GetFontsList(string[] files, Action lcb) + public static string[][] GetFontsList(string[] files, string fonts, Action lcb) { string _files = JsonSerializer.Serialize(files); - string result = css(GetFontsList(cs(_files), _lcb(lcb))); - return JsonSerializer.Deserialize(result); + string result = css(GetFontsList(cs(_files), cs(fonts), _lcb(lcb))); + return JsonSerializer.Deserialize(result); } public static void Cache(string[] ccs) diff --git a/mkvlib/c/sdk.py b/mkvlib/c/sdk.py index 0e83fdd..73de70d 100644 --- a/mkvlib/c/sdk.py +++ b/mkvlib/c/sdk.py @@ -90,11 +90,11 @@ def a2p(en, apc, pr, pf): call(en, apc, pr.encode(), pf.encode()) -def getFontsList(files, lcb): +def getFontsList(files, fonts, lcb): call = lib.GetFontsList call.restype = c_char_p _files = dumps(files) - return loads(call(_files.encode(), lcb).decode()) + return loads(call(_files.encode(), fonts.encode(), lcb).decode()) def cache(ccs): -- cgit v1.2.1