diff options
| -rw-r--r-- | mkvlib/ass.go | 14 | ||||
| -rw-r--r-- | mkvlib/shared.go | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/mkvlib/ass.go b/mkvlib/ass.go index 03674ba..ab5fe8c 100644 --- a/mkvlib/ass.go +++ b/mkvlib/ass.go @@ -189,6 +189,7 @@ func (self *assProcessor) dumpFont(file, out string, full bool) []string { if err == nil { str := string(f) str = strings.ReplaceAll(str, "\x00", "") + str = strings.ReplaceAll(str, "�", "") ok = ioutil.WriteFile(fn, []byte(str), os.ModePerm) == nil } } @@ -238,7 +239,8 @@ func (self *assProcessor) getFontName(p string) []string { if err == nil { defer func() { _ = f.Close() }() names := make([]string, 0) - if xml, err := xmlquery.Parse(f); err == nil { + xml, err := xmlquery.Parse(f) + if err == nil { for _, v := range xml.SelectElements(`ttFont/name/namerecord[@platformID=3]`) { id := v.SelectAttr("nameID") name := strings.TrimSpace(v.FirstChild.Data) @@ -543,7 +545,6 @@ func (self *assProcessor) createFontsCache(output string) []string { list := self.dumpFont(_item, self.tDir, false) if len(list) > 0 { m.Lock() - ok++ _m := self.getFontsName(list) __m := make(map[string]bool) _fonts := make([][]string, len(_m)) @@ -559,8 +560,13 @@ func (self *assProcessor) createFontsCache(output string) []string { q, _ := strconv.Atoi(index) _fonts[q] = _list } - cache = append(cache, fontCache{_item, _fonts}) - printLog(self.lcb, "Cache font (%d/%d) done.", ok, l) + if len(_fonts) > 0 { + ok++ + cache = append(cache, fontCache{_item, _fonts}) + printLog(self.lcb, "Cache font (%d/%d) done.", ok, l) + } else { + el = append(el, _item) + } m.Unlock() } else { el = append(el, _item) diff --git a/mkvlib/shared.go b/mkvlib/shared.go index 5ce7900..44d4c5b 100644 --- a/mkvlib/shared.go +++ b/mkvlib/shared.go @@ -11,7 +11,7 @@ import ( ) const libName = "mkvlib" -const libVer = "v1.2.6" +const libVer = "v1.2.7" const LibFName = libName + " " + libVer |
