Skip to content

Commit 10aea4a

Browse files
committed
update version information
1 parent b83ebe3 commit 10aea4a

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

ASFMKV_dev.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,11 @@ def eventTagsSplit(assInfo: dict, changeOnly: bool = True) -> dict:
374374
events = assInfo['Events']
375375
lines = {}
376376

377+
reVector = re.compile(r'\{.*?\\p[1-9]\d*.*?\}([\s\S]*?)\{.*?\\p0.*?\}')
378+
reVector2 = re.compile(r'\{.*?\\p[1-9]\d*.*?\}')
379+
reEffect = re.compile(r'\{.*?(?:\\b[1-9]00|\\b[0-1]|\\i[0-1]|\\fn|\\r).*?\}')
380+
reIBon = re.compile(r'\\b[1-9]00|\\b[0-1]|\\i[0-1]|\\fn|\\r')
381+
377382
for i in range(0, len(events)):
378383
if events[i]['Event'] != 'Dialogue':
379384
continue
@@ -382,18 +387,18 @@ def eventTagsSplit(assInfo: dict, changeOnly: bool = True) -> dict:
382387
textremain = ''
383388
# 矢量绘图处理,如果发现有矢量表达,从字符串中删除这一部分
384389
# 这一部分的工作未经详细验证,作用也不大
385-
if re.search(r'\{.*?\\p[1-9]\d*.*?\}([\s\S]*?)\{.*?\\p0.*?\}', eventftext) is not None:
386-
vecpos = re.findall(r'\{.*?\\p[1-9]\d*.*?\}[\s\S]*?\{.*?\\p0.*?\}', eventftext)
390+
if re.search(reVector, eventftext) is not None:
391+
vecpos = re.findall(reVector, eventftext)
387392
nexts = 0
388393
for s in vecpos:
389394
vecfind = eventftext.find(s)
390395
textremain += eventftext[nexts:vecfind]
391396
nexts = vecfind
392397
s = re.sub(r'\\p\d+', '', re.sub(r'}.*?{', '}{', s))
393398
textremain += s
394-
elif re.search(r'\{.*?\\p[1-9]\d*.*?\}', eventftext) is not None:
399+
elif re.search(reVector2, eventftext) is not None:
395400
eventftext = re.sub(r'\\p\d+', '',
396-
eventftext[:re.search(r'\{.*?\\p[1-9]\d*.*?\}', eventftext).span()[0]])
401+
eventftext[:re.search(reVector2, eventftext).span()[0]])
397402
if len(textremain) > 0:
398403
eventftext = textremain
399404
eventfont = assInfo['Styles'].get(events[i]['Style'])
@@ -410,15 +415,15 @@ def eventTagsSplit(assInfo: dict, changeOnly: bool = True) -> dict:
410415
lfi = eventfont['Italic']
411416
lfb = eventfont['Bold']
412417
# 首先查找蕴含有启用粗体/斜体标记的特效标签
413-
if re.search(r'\{.*?(?:\\b[1-9]00|\\b[0-1]|\\i[0-1]|\\fn|\\r).*?\}', eventftext) is not None:
418+
if re.search(reEffect, eventftext) is not None:
414419
lastfind = 0
415420
allfind = re.findall(r'\{.*?\}', eventftext)
416421
eventftext2 = eventftext
417422
# 在所有特效标签中寻找
418423
# 然后分别确认该特效标签的适用范围,以准确将字体子集化b
419424
for sti in range(0, len(allfind)):
420425
st = allfind[sti]
421-
ibopen = re.search(r'\\b[1-9]00|\\b[0-1]|\\i[0-1]|\\fn|\\r', st)
426+
ibopen = re.search(reIBon, st)
422427
if ibopen is not None:
423428
stfind = eventftext2.find(st)
424429
addbold = lfb
@@ -3946,7 +3951,7 @@ def cFontSubset(font_info):
39463951

39473952
def cLicense():
39483953
cls()
3949-
print('''AddSubFontMKV Python Remake Preview 24
3954+
print('''AddSubFontMKV Python Remake Preview 25
39503955
39513956
Apache-2.0 License
39523957
https://www.apache.org/licenses/
@@ -4218,7 +4223,7 @@ def checkFF():
42184223
def loadMain(reload: bool = False):
42194224
global extlist, no_mkvm, no_cmdc, dupfont, mkvmv, font_info, fontin, langlist, ffmv, insteadFF
42204225
# 初始化字体列表 和 mkvmerge 相关参数
4221-
os.system('title ASFMKV Python Remake Pre24 ^| (c) 2022-2024 yyfll ^| Apache-2.0')
4226+
os.system('title ASFMKV Python Remake Pre25 ^| (c) 2022-2024 yyfll ^| Apache-2.0')
42224227
if not reload:
42234228
if not o_fontload:
42244229
font_list = getFontFileList(fontin)
@@ -4265,7 +4270,7 @@ def loadMain(reload: bool = False):
42654270
if not len(ffmv) > 0:
42664271
ffMessage = '\n[F] 检查并启用FFmpeg'
42674272
ffSelect = 'F'
4268-
print('''ASFMKV Python Remake Pre24 | (c) 2022-2024 yyfll{0}{5}
4273+
print('''ASFMKV Python Remake Pre25 | (c) 2022-2024 yyfll{0}{5}
42694274
字体名称数: [\033[1;33m{2}\033[0m]({4})
42704275
请选择功能:
42714276
[A] 列出字幕所用字体

0 commit comments

Comments
 (0)