summaryrefslogtreecommitdiff
path: root/mkvlib/ass.go
diff options
context:
space:
mode:
authorb5f0d6c3 <[email protected]>2022-04-28 10:05:52 +0800
committerb5f0d6c3 <[email protected]>2022-04-28 10:05:52 +0800
commit039c65cb01122d0c8d380075a67e093ed0832e4b (patch)
tree738824b5d0be6a524f075e380d1a07f76a09abde /mkvlib/ass.go
parentb1c9158e1d9929812ff4694768c0db639b731660 (diff)
update mkvlib:fix fallback bug
Diffstat (limited to 'mkvlib/ass.go')
-rw-r--r--mkvlib/ass.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/mkvlib/ass.go b/mkvlib/ass.go
index b9cd911..43a984b 100644
--- a/mkvlib/ass.go
+++ b/mkvlib/ass.go
@@ -81,6 +81,7 @@ func (self *assProcessor) parse() bool {
opt := astisub.SSAOptions{}
reg, _ := regexp.Compile(`\\fn@?([^\r\n\\\}]*)`)
_reg, _ := regexp.Compile(`\\([bir])([^\r\n\\\}]*)`)
+ __reg, _ := regexp.Compile(`nd\d+`)
m := make(map[string]map[rune]bool)
for k, v := range self.subtitles {
subtitle, err := astisub.ReadFromSSAWithOptions(strings.NewReader(v), opt)
@@ -111,6 +112,9 @@ func (self *assProcessor) parse() bool {
_i = v[2] == "1"
break
case "r":
+ if __reg.MatchString(v[2]) {
+ break
+ }
v[2] = strings.TrimPrefix(v[2], "*")
if v[2] == "" {
name = ""
@@ -789,9 +793,9 @@ func (self *assProcessor) matchCache(k string) (string, string) {
for _, v := range self.cache {
for q, _v := range v.Fonts {
for _, __v := range _v {
- if __v == _k[0] || _tk(false, _k[0]) {
+ if __v == _k[0] || _tk(false, __v) {
for _, ___v := range v.Types[q] {
- if ___v == _k[1] || _tk(true, _k[1]) {
+ if ___v == _k[1] || _tk(true, ___v) {
ok = v.File
i = q
break