mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-08-30 12:12:40 +08:00
@@ -38,6 +38,7 @@ type Reader struct {
|
||||
Stamps map[string][]Stamp
|
||||
Annots map[string][]Annotation
|
||||
fileIndex map[string]*zip.File
|
||||
fileIndexFold map[string]*zip.File
|
||||
}
|
||||
|
||||
// Close 关闭阅读器
|
||||
@@ -53,9 +54,14 @@ func (r *Reader) Close() error {
|
||||
// 返回: error 错误信息
|
||||
func (r *Reader) initRoot() error {
|
||||
r.fileIndex = make(map[string]*zip.File)
|
||||
r.fileIndexFold = make(map[string]*zip.File)
|
||||
for _, f := range r.Zip.File {
|
||||
name := cleanPackagePath(f.Name)
|
||||
r.fileIndex[name] = f
|
||||
fold := strings.ToLower(name)
|
||||
if _, ok := r.fileIndexFold[fold]; !ok {
|
||||
r.fileIndexFold[fold] = f
|
||||
}
|
||||
}
|
||||
data, err := r.readFile("OFD.xml")
|
||||
if err != nil {
|
||||
@@ -111,6 +117,9 @@ func (r *Reader) packageFile(name string) (*zip.File, bool) {
|
||||
if f, ok := r.fileIndex[name]; ok {
|
||||
return f, true
|
||||
}
|
||||
if f, ok := r.fileIndexFold[strings.ToLower(name)]; ok {
|
||||
return f, true
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user