diff options
| author | ac79b0c6 <[email protected]> | 2022-05-12 14:16:47 +0800 |
|---|---|---|
| committer | ac79b0c6 <[email protected]> | 2022-05-12 14:16:47 +0800 |
| commit | 5ed63f9a14320665dd5c4e945403a76457a65313 (patch) | |
| tree | 08837f6ba3560ac3f956ab65550270bb30402342 /mkvlib/c | |
| parent | b5244b304b1a06b2ea8b9de1e159ae70cd63930b (diff) | |
update mkvlib:add list missing fonts
Diffstat (limited to 'mkvlib/c')
| -rw-r--r-- | mkvlib/c/README.md | 7 | ||||
| -rw-r--r-- | mkvlib/c/exports.go | 4 | ||||
| -rw-r--r-- | mkvlib/c/sdk.cs | 8 | ||||
| -rw-r--r-- | mkvlib/c/sdk.py | 4 |
4 files changed, 12 insertions, 11 deletions
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<string> lcb) + public static string[][] GetFontsList(string[] files, string fonts, Action<string> lcb) { string _files = JsonSerializer.Serialize<string[]>(files); - string result = css(GetFontsList(cs(_files), _lcb(lcb))); - return JsonSerializer.Deserialize<string[]>(result); + string result = css(GetFontsList(cs(_files), cs(fonts), _lcb(lcb))); + return JsonSerializer.Deserialize<string[][]>(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): |
