summaryrefslogtreecommitdiff
path: root/mkvlib/c
diff options
context:
space:
mode:
authorac79b0c6 <[email protected]>2022-05-12 14:16:47 +0800
committerac79b0c6 <[email protected]>2022-05-12 14:16:47 +0800
commit5ed63f9a14320665dd5c4e945403a76457a65313 (patch)
tree08837f6ba3560ac3f956ab65550270bb30402342 /mkvlib/c
parentb5244b304b1a06b2ea8b9de1e159ae70cd63930b (diff)
update mkvlib:add list missing fonts
Diffstat (limited to 'mkvlib/c')
-rw-r--r--mkvlib/c/README.md7
-rw-r--r--mkvlib/c/exports.go4
-rw-r--r--mkvlib/c/sdk.cs8
-rw-r--r--mkvlib/c/sdk.py4
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):