summaryrefslogtreecommitdiff
path: root/mkvlib/ass.go
diff options
context:
space:
mode:
Diffstat (limited to 'mkvlib/ass.go')
-rw-r--r--mkvlib/ass.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/mkvlib/ass.go b/mkvlib/ass.go
index 826c484..f7c195c 100644
--- a/mkvlib/ass.go
+++ b/mkvlib/ass.go
@@ -98,8 +98,8 @@ func (self *assProcessor) parse() bool {
ec++
} else {
data, err := io.ReadAll(f)
- str := toUTF8(data)
if err == nil {
+ str := toUTF8(data)
self.subtitles[file] = str
} else {
ec++
@@ -108,6 +108,7 @@ func (self *assProcessor) parse() bool {
if ec > 0 {
printLog(self.lcb, `Failed to read the ass file: "%s"`, file)
}
+ _ = f.Close()
}
if ec == 0 {
opt := parser.SSAOptions{}
@@ -194,7 +195,7 @@ func (self *assProcessor) parse() bool {
if ___reg.MatchString(v) {
v += "0123456789"
}
- v += "\u0020\u00a0"
+ v += "a\u0020\u00a0"
self.m[k] = new(fontInfo)
self.m[k].runes = []rune(v)
self.m[k].oldName = strings.Split(k, "^")[0]
@@ -376,8 +377,12 @@ func (self *assProcessor) checkFontMissing(f *fontInfo, i int, c bool) bool {
}
}
}
+ } else {
+ return false
}
}
+ } else {
+ return false
}
h := "N"
if c {
@@ -886,7 +891,12 @@ func (self *assProcessor) matchCache(k, o string) (string, int) {
names := self.getFontName(v.File)
if len(names) > 0 {
_count++
- if !self.checkFontMissing(self.m[o], _count, true) && self.strict {
+ f := new(fontInfo)
+ f.oldName = _k[0]
+ f.file = ok
+ f.index = i
+ f.runes = self.m[o].runes
+ if !self.checkFontMissing(f, _count, true) && self.strict {
ok = ""
i = 0
continue