2020-08-27 21:45:09 +00:00
|
|
|
|
//
|
|
|
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
// This is a commercial product and requires a license to operate.
|
|
|
|
|
// A trial license can be obtained at https://unidoc.io
|
|
|
|
|
//
|
|
|
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
|
|
|
//
|
|
|
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
|
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
|
|
2022-10-27 19:04:58 +00:00
|
|
|
|
package textencoding ;import (_eec "bytes";_c "encoding/binary";_f "errors";_bb "fmt";_eae "github.com/unidoc/unipdf/v3/common";_ea "github.com/unidoc/unipdf/v3/core";_bf "github.com/unidoc/unipdf/v3/internal/cmap";_ab "github.com/unidoc/unipdf/v3/internal/strutils";
|
|
|
|
|
_be "github.com/unidoc/unipdf/v3/internal/textencoding/internal/syncmap";_cg "golang.org/x/text/encoding";_ed "golang.org/x/text/transform";_ef "golang.org/x/xerrors";_b "regexp";_g "sort";_ee "strconv";_d "strings";_a "sync";_ec "unicode";_ecg "unicode/utf8";
|
|
|
|
|
);func _gagc (_geb string ,_dggbb *_be .ByteRuneMap )SimpleEncoder {_acd :=&simpleEncoding {_ecaa :_geb ,_egdd :_dggbb ,_fbf :_be .MakeRuneByteMap (_dggbb .Length ())};_acd ._egdd .Range (func (_cdg byte ,_db rune )(_ecac bool ){if _acg ,_eaf :=_acd ._fbf .Read (_db );
|
|
|
|
|
!_eaf ||_cdg < _acg {_acd ._fbf .Write (_db ,_cdg );};return false ;});return _acd ;};var (_gde =_b .MustCompile ("\u005e\u005b\u0041\u002dZa\u002d\u007a\u005d\u0028\u005c\u0064\u007b\u0031\u002c\u0035\u007d\u0029\u0024");_aba =_b .MustCompile ("\u005e\u0075\u006e\u0069\u0028\u005b\u005c\u0064\u0041\u002d\u0046\u005d{\u0034\u007d\u0029\u0024");
|
|
|
|
|
_dfb =_b .MustCompile ("\u005e\u0028\u005cw\u002b\u0029\u005c\u002e\u005c\u0077\u002b\u0024"););func NewCMapEncoder (baseName string ,codeToCID ,cidToUnicode *_bf .CMap )CMapEncoder {return CMapEncoder {_cfa :baseName ,_ge :codeToCID ,_ggg :cidToUnicode };
|
|
|
|
|
};const (_ccef ="\u004d\u0061\u0063\u0045\u0078\u0070\u0065\u0072\u0074\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";_ebebe ="\u004d\u0061c\u0052\u006f\u006da\u006e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";);func (_bga *TrueTypeFontEncoder )SubsetRegistered (){_eae .Log .Info ("\u0054\u0054\u0046\u0020Su\u0062\u0073\u0065\u0074\u003a\u0020\u0050\u0072\u0075\u006e\u0069\u006e\u0067");
|
|
|
|
|
_bga ._cdab .RangeDelete (func (_gebe rune ,_ uint16 )(_bfb bool ,_cbfe bool ){return !_bga ._fedc .Exists (_gebe ),_cbfe });};func _cgdb (_fgc TextEncoder ,_caf []byte )string {_def :=make ([]rune ,0,len (_caf )/2+len (_caf )%2);for len (_caf )> 0{if len (_caf )==1{_caf =[]byte {_caf [0],0};
|
|
|
|
|
};_cfb :=CharCode (_c .BigEndian .Uint16 (_caf [:]));_caf =_caf [2:];_ecb ,_ddb :=_fgc .CharcodeToRune (_cfb );if !_ddb {_eae .Log .Debug ("\u0046a\u0069\u006ce\u0064\u0020\u0074\u006f \u006d\u0061\u0070 \u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065\u0020to\u0020\u0072\u0075n\u0065\u002e \u0063\u0068\u0061\u0072\u0063\u006fd\u0065\u003d%\u0023\u0078",_cfb );
|
|
|
|
|
continue ;};_def =append (_def ,_ecb );};return string (_def );};var _agfc =_be .NewRuneStringMap (map[rune ]string {'Ꜳ':"\u0041\u0041",'ꜳ':"\u0061\u0061",'Ꜵ':"\u0061\u0061",'ꜵ':"\u0061\u006f",'Ꜷ':"\u0041\u0055",'ꜷ':"\u0061\u0075",'Ꜽ':"\u0041\u0059",'ꜽ':"\u0061\u0079",'\U0001f670':"\u0065\u0074",'ff':"\u0066\u0066",'ffi':"\u0066\u0066\u0069",'ffl':"\u0066\u0066\u006c",'fi':"\u0066\u0069",'fl':"\u0066\u006c",'Œ':"\u004f\u0045",'œ':"\u006f\u0065",'Ꝏ':"\u004f\u004f",'ꝏ':"\u006f\u006f",'st':"\u0073\u0074",'ſt':"\u017f\u0074",'Ꜩ':"\u0054\u005a",'ꜩ':"\u0074\u007a",'ᵫ':"\u0075\u0065",'Ꝡ':"\u0056\u0059",'ꝡ':"\u0076\u0079",0xe000:"\u0066\u0074",0xe001:"\u0066\u006a",0xe002:"\u0066\u0062",0xe003:"\u0066\u0068",0xe004:"\u0066\u006b",0xe005:"\u0074\u0074",0xe006:"\u0074\u0066",0xe007:"\u0066\u0066\u006a",0xe008:"\u0066\u0066\u0062",0xe009:"\u0066\u0066\u0068",0xe00a:"\u0066\u0066\u006b",0xe00b:"\u0054\u005f\u0068"});
|
|
|
|
|
func (_ba CMapEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_eff ,_feb :=_ba .charcodeToString (code );if len (_eff )< 1{return MissingCodeRune ,false ;};return ([]rune (_eff ))[0],_feb ;};func (_ccg *simpleEncoding )Encode (str string )[]byte {_ffd ,_ :=_ccg .NewEncoder ().Bytes ([]byte (str ));
|
|
|
|
|
return _ffd ;};type GlyphName string ;func RuneToString (r rune )string {if _cfdb ,_ggag :=_agfc .Read (r );_ggag {return _cfdb ;};return string (r );};func _bec (_ca ...charCodeGlyphNameTuple )*charCodeGlyphNameMap {_beg :=map[CharCode ]GlyphName {};for _ ,_af :=range _ca {_beg [_af .CharCode ]=_af .GlyphName ;
|
|
|
|
|
};return &charCodeGlyphNameMap {_fg :_beg };};var _debd =_be .NewByteRuneMap (map[byte ]rune {0x20:' ',0x21:'✁',0x22:'✂',0x23:'✃',0x24:'✄',0x25:'☎',0x26:'✆',0x27:'✇',0x28:'✈',0x29:'✉',0x2a:'☛',0x2b:'☞',0x2c:'✌',0x2d:'✍',0x2e:'✎',0x2f:'✏',0x30:'✐',0x31:'✑',0x32:'✒',0x33:'✓',0x34:'✔',0x35:'✕',0x36:'✖',0x37:'✗',0x38:'✘',0x39:'✙',0x3a:'✚',0x3b:'✛',0x3c:'✜',0x3d:'✝',0x3e:'✞',0x3f:'✟',0x40:'✠',0x41:'✡',0x42:'✢',0x43:'✣',0x44:'✤',0x45:'✥',0x46:'✦',0x47:'✧',0x48:'★',0x49:'✩',0x4a:'✪',0x4b:'✫',0x4c:'✬',0x4d:'✭',0x4e:'✮',0x4f:'✯',0x50:'✰',0x51:'✱',0x52:'✲',0x53:'✳',0x54:'✴',0x55:'✵',0x56:'✶',0x57:'✷',0x58:'✸',0x59:'✹',0x5a:'✺',0x5b:'✻',0x5c:'✼',0x5d:'✽',0x5e:'✾',0x5f:'✿',0x60:'❀',0x61:'❁',0x62:'❂',0x63:'❃',0x64:'❄',0x65:'❅',0x66:'❆',0x67:'❇',0x68:'❈',0x69:'❉',0x6a:'❊',0x6b:'❋',0x6c:'●',0x6d:'❍',0x6e:'■',0x6f:'❏',0x70:'❐',0x71:'❑',0x72:'❒',0x73:'▲',0x74:'▼',0x75:'◆',0x76:'❖',0x77:'◗',0x78:'❘',0x79:'❙',0x7a:'❚',0x7b:'❛',0x7c:'❜',0x7d:'❝',0x7e:'❞',0x80:'\uf8d7',0x81:'\uf8d8',0x82:'\uf8d9',0x83:'\uf8da',0x84:'\uf8db',0x85:'\uf8dc',0x86:'\uf8dd',0x87:'\uf8de',0x88:'\uf8df',0x89:'\uf8e0',0x8a:'\uf8e1',0x8b:'\uf8e2',0x8c:'\uf8e3',0x8d:'\uf8e4',0xa1:'❡',0xa2:'❢',0xa3:'❣',0xa4:'❤',0xa5:'❥',0xa6:'❦',0xa7:'❧',0xa8:'♣',0xa9:'♦',0xaa:'♥',0xab:'♠',0xac:'①',0xad:'②',0xae:'③',0xaf:'④',0xb0:'⑤',0xb1:'⑥',0xb2:'⑦',0xb3:'⑧',0xb4:'⑨',0xb5:'⑩',0xb6:'❶',0xb7:'❷',0xb8:'❸',0xb9:'❹',0xba:'❺',0xbb:'❻',0xbc:'❼',0xbd:'❽',0xbe:'❾',0xbf:'❿',0xc0:'➀',0xc1:'➁',0xc2:'➂',0xc3:'➃',0xc4:'➄',0xc5:'➅',0xc6:'➆',0xc7:'➇',0xc8:'➈',0xc9:'➉',0xca:'➊',0xcb:'➋',0xcc:'➌',0xcd:'➍',0xce:'➎',0xcf:'➏',0xd0:'➐',0xd1:'➑',0xd2:'➒',0xd3:'➓',0xd4:'➔',0xd5:'→',0xd6:'↔',0xd7:'↕',0xd8:'➘',0xd9:'➙',0xda:'➚',0xdb:'➛',0xdc:'➜',0xdd:'➝',0xde:'➞',0xdf:'➟',0xe0:'➠',0xe1:'➡',0xe2:'➢',0xe3:'➣',0xe4:'➤',0xe5:'➥',0xe6:'➦',0xe7:'➧',0xe8:'➨',0xe9:'➩',0xea:'➪',0xeb:'➫',0xec:'➬',0xed:'➭',0xee:'➮',0xef:'➯',0xf1:'➱',0xf2:'➲',0xf3:'➳',0xf4:'➴',0xf5:'➵',0xf6:'➶',0xf7:'➷',0xf8:'➸',0xf9:'➹',0xfa:'➺',0xfb:'➻',0xfc:'➼',0xfd:'➽',0xfe:'➾'});
|
|
|
|
|
func NewZapfDingbatsEncoder ()SimpleEncoder {return _age .NewEncoder ()};func _bda (_eee *charCodeGlyphNameMap )*_ea .PdfObjectArray {if _eee .Length ()==0{return nil ;};_cfd :=make ([]CharCode ,0,_eee .Length ());_eee .Range (func (_bg CharCode ,_ GlyphName )(_fef bool ){_cfd =append (_cfd ,_bg );
|
|
|
|
|
return false });_g .Slice (_cfd ,func (_da ,_efb int )bool {return _cfd [_da ]< _cfd [_efb ]});_abe :=_cfd [0];_feff ,_ :=_eee .Read (_abe );_bc :=[]_ea .PdfObject {_ea .MakeInteger (int64 (_abe )),_ea .MakeName (string (_feff ))};for _ ,_gb :=range _cfd [1:]{if _gb ==_abe +1{_feff ,_ =_eee .Read (_gb );
|
|
|
|
|
_bc =append (_bc ,_ea .MakeName (string (_feff )));}else {_bc =append (_bc ,_ea .MakeInteger (int64 (_gb )));};_abe =_gb ;};return _ea .MakeArray (_bc ...);};const _abf =10;var (_cbc =&simpleEncodersMap {_bae :map[string ]func ()SimpleEncoder {}};);type TextEncoder interface{String ()string ;
|
|
|
|
|
Encode (_bbc string )[]byte ;Decode (_ecgc []byte )string ;RuneToCharcode (_dcb rune )(CharCode ,bool );CharcodeToRune (_edb CharCode )(rune ,bool );ToPdfObject ()_ea .PdfObject ;};func (_bd *charCodeGlyphNameMap )Range (f func (_agd CharCode ,_eg GlyphName )(_beb bool )){_bd ._bbb .RLock ();
|
|
|
|
|
defer _bd ._bbb .RUnlock ();for _dd ,_cf :=range _bd ._fg {if f (_dd ,_cf ){break ;};};};func (_aae *differencesEncoding )String ()string {return _bb .Sprintf ("\u0064\u0069\u0066\u0066er\u0065\u006e\u0063\u0065\u0073\u0028\u0025\u0073\u002c\u0020\u0025\u0076\u0029",_aae ._eac .String (),_aae ._befc );
|
|
|
|
|
};func (_bef CMapEncoder )String ()string {return _bef ._cfa };func (_fbe *differencesEncoding )Charcodes ()[]CharCode {_aga :=_fbe ._eac .Charcodes ();_gcd :=true ;_ebg :=make (map[CharCode ]struct{},len (_aga ));for _ ,_dgcc :=range _aga {_ebg [_dgcc ]=struct{}{};
|
|
|
|
|
};_fbe ._dedd .Range (func (_ddag byte ,_egd rune )(_ff bool ){_ddf :=CharCode (_ddag );if _ ,_fea :=_ebg [_ddf ];!_fea {_aga =append (_aga ,_ddf );_gcd =false ;};return false ;});if !_gcd {_g .Slice (_aga ,func (_fdb ,_cee int )bool {return _aga [_fdb ]< _aga [_cee ]});
|
|
|
|
|
};return _aga ;};func GlyphToRune (glyph GlyphName )(rune ,bool ){_efbd :=string (glyph );if _d .Contains (_efbd ,"\u002e"){_agdf :=_dfb .FindStringSubmatch (_efbd );if _agdf !=nil {_efbd =_agdf [1];};};if _bag ,_eggg :=_gdda .Read (_efbd );_eggg {_efbd =_bag ;
|
|
|
|
|
};if _gfff ,_cb :=_affd .Read (_efbd );_cb {return _gfff ,true ;};if _bce ,_fefb :=_cfgg .Read (_efbd );_fefb {return _bce ,true ;};if _ccbd :=_aba .FindStringSubmatch (_efbd );_ccbd !=nil {_aab ,_cda :=_ee .ParseInt (_ccbd [1],16,32);if _cda ==nil {return rune (_aab ),true ;
|
|
|
|
|
};};if _cdd :=_gde .FindStringSubmatch (_efbd );_cdd !=nil {_feg ,_aff :=_ee .Atoi (_cdd [1]);if _aff ==nil {return rune (_feg ),true ;};};return rune (0),false ;};func (_gad *charCodeGlyphNameMap )Delete (key CharCode ){_gad ._bbb .Lock ();defer _gad ._bbb .Unlock ();
|
|
|
|
|
delete (_gad ._fg ,key );};func NewSimpleTextEncoder (baseName string ,differences map[CharCode ]GlyphName )(SimpleEncoder ,error ){_gae ,_cgef :=_cbc .Read (baseName );if !_cgef {_eae .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u004ee\u0077\u0053\u0069mp\u006c\u0065\u0054\u0065\u0078\u0074E\u006e\u0063\u006f\u0064\u0065\u0072\u002e\u0020\u0055\u006e\u006b\u006e\u006f\u0077\u006e \u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067 \u0025\u0071",baseName );
|
|
|
|
|
return nil ,_ef .Errorf ("\u0075\u006e\u0073up\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u006fn\u0074 \u0065n\u0063o\u0064\u0069\u006e\u0067\u003a\u0020\u0025\u0071\u0020\u0028\u0025\u0077\u0029",baseName ,_ea .ErrNotSupported );};_cabf :=_gae ();
|
|
|
|
|
if len (differences )!=0{_cabf =ApplyDifferences (_cabf ,differences );};return _cabf ,nil ;};func (_gecc *simpleEncoding )Charcodes ()[]CharCode {_ecad :=make ([]CharCode ,0,_gecc ._egdd .Length ());_gecc ._egdd .Range (func (_dec byte ,_ rune )(_fda bool ){_ecad =append (_ecad ,CharCode (_dec ));
|
|
|
|
|
return false });_g .Slice (_ecad ,func (_bafc ,_dgca int )bool {return _ecad [_bafc ]< _ecad [_dgca ]});return _ecad ;};type SimpleEncoder interface{TextEncoder ;BaseName ()string ;Charcodes ()[]CharCode ;};func (_fab *differencesEncoding )CharcodeToRune (code CharCode )(rune ,bool ){if code > 0xff{return MissingCodeRune ,false ;
|
|
|
|
|
};_dac :=byte (code );if _daf ,_cge :=_fab ._dedd .Read (_dac );_cge {return _daf ,true ;};return _fab ._eac .CharcodeToRune (code );};type CharCode uint16 ;func RuneToGlyph (r rune )(GlyphName ,bool ){_cbf ,_bege :=_eea .Read (r );if !_bege &&r > 0{_cbf =_bb .Sprintf ("\u0075n\u0069\u0025\u0030\u0034\u0078",r );
|
|
|
|
|
_bege =true ;};return GlyphName (_cbf ),_bege ;};const (_egf ="\u0050\u0064\u0066\u0044\u006f\u0063\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";_faf ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";);func (_fde simpleDecoder )Reset (){};
|
|
|
|
|
var _egga =[...]_be .StringsTuple {{Key :"\u0066\u005f\u0066",Value :"\u0066\u0066"},{Key :"\u0066\u005f\u0066_\u0069",Value :"\u0066\u0066\u0069"},{Key :"\u0066\u005f\u0066_\u006c",Value :"\u0066\u0066\u006c"},{Key :"\u0066\u005f\u0069",Value :"\u0066\u0069"},{Key :"\u0066\u005f\u006c",Value :"\u0066\u006c"},{Key :"a\u0073\u0063\u0072\u0069\u0070\u0074\u0074\u0075\u0072\u006e",Value :"\u0041\u0045\u006d\u0061\u0063\u0072\u006f\u006e"},{Key :"\u006d\u0074\u0075r\u006e\u0064\u0065\u0073\u0063\u0065\u006e\u0064",Value :"\u0041d\u0062\u006c\u0067\u0072\u0061\u0076e"},{Key :"\u0061\u0074\u0075r\u006e",Value :"\u0041\u0064\u006f\u0074\u006d\u0061\u0063\u0072\u006f\u006e"},{Key :"n\u006c\u0066\u0074\u006c\u0066\u0074\u0068\u006f\u006f\u006b",Value :"\u0041\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064b\u0072\u0065\u0076\u0065"},{Key :"\u0075p\u0041\u006c\u0070\u0068\u0061",Value :"\u0041\u006c\u0070h\u0061"},{Key :"\u0049s\u006d\u0061\u006c\u006c\u0063\u0061p",Value :"\u0041\u0072\u0069\u006e\u0067\u0061\u0063\u0075\u0074\u0065"},{Key :"\u0043\u0062\u0062",Value :"\u0042\u0062\u0062\u0043"},{Key :"\u0043\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u0043"},{Key :"\u0048\u0062\u0062",Value :"\u0042\u0062\u0062\u0048"},{Key :"\u0048\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u0048"},{Key :"\u004e\u0062\u0062",Value :"\u0042\u0062\u0062\u004e"},{Key :"\u004e\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u004e"},{Key :"\u0050\u0062\u0062",Value :"\u0042\u0062\u0062\u0050"},{Key :"\u0050\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u0050"},{Key :"\u0051\u0062\u0062",Value :"\u0042\u0062\u0062\u0051"},{Key :"\u0051\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u0051"},{Key :"\u0052\u0062\u0062",Value :"\u0042\u0062\u0062\u0052"},{Key :"\u0052\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u0052"},{Key :"\u005a\u0062\u0062",Value :"\u0042\u0062\u0062\u005a"},{Key :"\u005a\u0064\u0062\u006c\u0073\u0074\u0072\u0075\u0063\u006b",Value :"\u0042\u0062\u0062\u005a"},{Key :"\u0075\u0070\u0042\u0065\u0074\u0061",Value :"\u0042\u0065\u0074\u0061"},{Key :"\u004f\u0049",Value :"\u0042t\u006f\u0070\u0062\u0061\u0072"},{Key :"\u0048m\u0061\u0063\u0072\u006f\u006e",Value :"\u0043\u0061\u0063\u0075\u0074\u0065"},{Key :"\u0043\u0064\u006f\u0074",Value :"\u0043\u0064\u006f\u0074\u0061\u0063\u0063\u0065\u006e\u0074"},{Key :"\u0043\u0068\u0065",Value :"C\u0068\u0065\u0063\u0079\u0072\u0069\u006c\u006c\u0069\u0063"},{Key :"\u0061f\u0069\u0069\u0031\u0030\u0030\u00341",Value :"C\u0068\u0065\u0063\u0079\u0072\u0069\u006c\u006c\u0069\u0063"},{Key :"l\u0063\u0069\u0072\u0063\u0075\u006d\u0066\u006c\u0065\u0078",Value :"C\u0068e\u0064\u0065\u0073\u0063\u0065\u006e\u0064\u0065r\u0063\u0079\u0072\u0069ll\u0069\u0063"},{Key :"\u0075\u0070\u0043h\u0069",Value :"\u0043\u0068\u0069"},{Key :"\u0079\u0075\u0073\u0062\u0069\u0067",Value :"\u0043\u0068\u0069"},{Key :"\u0067\u0063\u0075\u0072\u0073\u0069\u0076\u0065",Value :"\u0044\u005a"},{Key :"\u0047\u0062\u0061\u0072",Value :"\u0044Z\u0063\u0061\u0072\u006f\u006e"},{Key :"\u0044\u0073\u006c\u0061\u0073\u0068",Value :"\u0044\u0063\u0072\u006f\u0061\u0074"},{Key :"\u0044\u0065",Value :"\u0044\u0065\u0063\u0079\u0072\u0069\u006c\u006c\u0069\u0063"},{Key :"\u0061f\u0069\u0069\u0031\u0030\u0030\u00321",Value :"\u0044\u0065\u0063\u0079\u0072\u0069\u006c\u006c\u0069\u0063"},{Key :"\u004b\u0068\u0061\u0072\u0074\u0064\u0065\u0073",Value :"\u0044e\u0069\u0063\u006f\u0070\u0074\u0069c"},{Key :"\u0069n\u0063\u0072\u0065\u006d\u0065\u006et",Value :"\u0044\u0065\u006ct\u0061"},{Key :"\u0075p\u0044\u0065\u006c\u0074\u0061",Value :"\u0044\u0065\u006c\u0074\u0061\u0067\u0072\u0065\u0065\u006b"},{Key :"\u0065\u0073\u0068\u006c\u006f\u006f\u0070\u0072\u0065\u0076",Value :"\u0044\u0068\u006fo\u006b"},{Key :"\u006d\u0062\u0066\u0064\u0069\u0067\u0061\u006d\u006d\u0061",Value :"\u0044i\u0067\u0061\u006d\u006d\u0061"}
|
|
|
|
|
var (_deg =_ffef (_fed ,_gcdf ););func (_cfaea *TrueTypeFontEncoder )RegisteredRunes ()[]rune {_fga :=make ([]rune ,_cfaea ._fedc .Length ());_gaaf :=0;_cfaea ._fedc .Range (func (_fabg rune )(_ccgb bool ){_fga [_gaaf ]=_fabg ;_gaaf ++;return false });
|
|
|
|
|
return _fga ;};var _fgcf =_be .NewByteRuneMap (map[byte ]rune {0x1:'\x01',0x2:'\x02',0x3:'\x03',0x4:'\x04',0x5:'\x05',0x6:'\x06',0x7:'\a',0x8:'\b',0x9:'\t',0xa:'\n',0xb:'\v',0xc:'\f',0xd:'\r',0xe:'\x0e',0xf:'\x0f',0x10:'\x10',0x11:'\x11',0x12:'\x12',0x13:'\x13',0x14:'\x14',0x15:'\x15',0x16:'\x17',0x17:'\x17',0x18:'˘',0x19:'ˇ',0x1a:'ˆ',0x1b:'˙',0x1c:'˝',0x1d:'˛',0x1e:'˚',0x1f:'˜',0x20:' ',0x21:'!',0x22:'"',0x23:'#',0x24:'$',0x25:'%',0x26:'&',0x27:'\'',0x28:'(',0x29:')',0x2a:'*',0x2b:'+',0x2c:',',0x2d:'-',0x2e:'.',0x2f:'/',0x30:'0',0x31:'1',0x32:'2',0x33:'3',0x34:'4',0x35:'5',0x36:'6',0x37:'7',0x38:'8',0x39:'9',0x3a:':',0x3b:';',0x3c:'<',0x3d:'=',0x3e:'>',0x3f:'?',0x40:'@',0x41:'A',0x42:'B',0x43:'C',0x44:'D',0x45:'E',0x46:'F',0x47:'G',0x48:'H',0x49:'I',0x4a:'J',0x4b:'K',0x4c:'L',0x4d:'M',0x4e:'N',0x4f:'O',0x50:'P',0x51:'Q',0x52:'R',0x53:'S',0x54:'T',0x55:'U',0x56:'V',0x57:'W',0x58:'X',0x59:'Y',0x5a:'Z',0x5b:'[',0x5c:'\\',0x5d:']',0x5e:'^',0x5f:'_',0x60:'`',0x61:'a',0x62:'b',0x63:'c',0x64:'d',0x65:'e',0x66:'f',0x67:'g',0x68:'h',0x69:'i',0x6a:'j',0x6b:'k',0x6c:'l',0x6d:'m',0x6e:'n',0x6f:'o',0x70:'p',0x71:'q',0x72:'r',0x73:'s',0x74:'t',0x75:'u',0x76:'v',0x77:'w',0x78:'x',0x79:'y',0x7a:'z',0x7b:'{',0x7c:'|',0x7d:'}',0x7e:'~',0x80:'•',0x81:'†',0x82:'‡',0x83:'…',0x84:'—',0x85:'–',0x86:'ƒ',0x87:'⁄',0x88:'‹',0x89:'›',0x8a:'−',0x8b:'‰',0x8c:'„',0x8d:'“',0x8e:'”',0x8f:'‘',0x90:'’',0x91:'‚',0x92:'™',0x93:'fi',0x94:'fl',0x95:'Ł',0x96:'Œ',0x97:'Š',0x98:'Ÿ',0x99:'Ž',0x9a:'ı',0x9b:'ł',0x9c:'œ',0x9d:'š',0x9e:'ž',0xa0:'€',0xa1:'¡',0xa2:'¢',0xa3:'£',0xa4:'¤',0xa5:'¥',0xa6:'¦',0xa7:'§',0xa8:'¨',0xa9:'©',0xaa:'ª',0xab:'«',0xac:'¬',0xae:'®',0xaf:'¯',0xb0:'°',0xb1:'±',0xb2:'²',0xb3:'³',0xb4:'´',0xb5:'µ',0xb6:'¶',0xb7:'·',0xb8:'¸',0xb9:'¹',0xba:'º',0xbb:'»',0xbc:'¼',0xbd:'½',0xbe:'¾',0xbf:'¿',0xc0:'À',0xc1:'Á',0xc2:'Â',0xc3:'Ã',0xc4:'Ä',0xc5:'Å',0xc6:'Æ',0xc7:'Ç',0xc8:'È',0xc9:'É',0xca:'Ê',0xcb:'Ë',0xcc:'Ì',0xcd:'Í',0xce:'Î',0xcf:'Ï',0xd0:'Ð',0xd1:'Ñ',0xd2:'Ò',0xd3:'Ó',0xd4:'Ô',0xd5:'Õ',0xd6:'Ö',0xd7:'×',0xd8:'Ø',0xd9:'Ù',0xda:'Ú',0xdb:'Û',0xdc:'Ü',0xdd:'Ý',0xde:'Þ',0xdf:'ß',0xe0:'à',0xe1:'á',0xe2:'â',0xe3:'ã',0xe4:'ä',0xe5:'å',0xe6:'æ',0xe7:'ç',0xe8:'è',0xe9:'é',0xea:'ê',0xeb:'ë',0xec:'ì',0xed:'í',0xee:'î',0xef:'ï',0xf0:'ð',0xf1:'ñ',0xf2:'ò',0xf3:'ó',0xf4:'ô',0xf5:'õ',0xf6:'ö',0xf7:'÷',0xf8:'ø',0xf9:'ù',0xfa:'ú',0xfb:'û',0xfc:'ü',0xfd:'ý',0xfe:'þ',0xff:'ÿ'});
|
|
|
|
|
func (_baca *simpleEncoding )NewDecoder ()*_cg .Decoder {return &_cg .Decoder {Transformer :simpleDecoder {_fbee :_baca ._egdd }};};type charCodeGlyphNameTuple struct{CharCode CharCode ;GlyphName GlyphName ;};func (_efe *IdentityEncoder )String ()string {return _efe ._bgge };
|
|
|
|
|
type charCodeGlyphNameMap struct{_fg map[CharCode ]GlyphName ;_bbb _a .RWMutex ;};func NewIdentityTextEncoder (baseName string )*IdentityEncoder {return &IdentityEncoder {_bgge :baseName ,_adbc :_be .MakeRuneSet (0)};};var (_ SimpleEncoder =(*simpleEncoding )(nil );
|
|
|
|
|
_ _cg .Encoding =(*simpleEncoding )(nil ););func (_gbfc *simpleEncodersMap )Write (s string ,f func ()SimpleEncoder ){_gbfc ._gdee .Lock ();defer _gbfc ._gdee .Unlock ();_gbfc ._bae [s ]=f ;};func NewMacExpertEncoder ()SimpleEncoder {return _dbb .NewEncoder ()};
|
|
|
|
|
func (_dfd *TrueTypeFontEncoder )Encode (str string )[]byte {return _gffd (_dfd ,str )};func (_ce *differencesEncoding )BaseName ()string {return _ce ._eac .BaseName ()};func (_fff UTF16Encoder )String ()string {return _fff ._dcee };func (_cfg CMapEncoder )Encode (str string )[]byte {if _cfg ._ggg ==nil {return []byte {};
|
|
|
|
|
};if _cfg ._ggg .NBits ()==8{return _febd (_cfg ,str );};return _gffd (_cfg ,str );};type CMapEncoder struct{_cfa string ;_ge *_bf .CMap ;_ggg *_bf .CMap ;};func (_ffdb *simpleEncoder )Reset (){};func (_fdge *IdentityEncoder )GlyphToRune (glyph GlyphName )(rune ,bool ){if glyph =="\u0073\u0070\u0061c\u0065"{return ' ',true ;
|
|
|
|
|
}else if !_d .HasPrefix (string (glyph ),"\u0075\u006e\u0069")||len (glyph )!=7{return 0,false ;};_cff ,_gec :=_ee .ParseUint (string (glyph [3:]),16,16);if _gec !=nil {return 0,false ;};return rune (_cff ),true ;};func (_cba *IdentityEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_cba ._adbc .Write (rune (code ));
|
|
|
|
|
return rune (code ),true ;};func RegisterSimpleEncoding (name string ,fnc func ()SimpleEncoder ){if _ ,_bcd :=_cbc .Read (name );_bcd {panic ("\u0061l\u0072e\u0061\u0064\u0079\u0020\u0072e\u0067\u0069s\u0074\u0065\u0072\u0065\u0064");};_cbc .Write (name ,fnc );
|
|
|
|
|
};type simpleEncoding struct{_ecaa string ;_fbf *_be .RuneByteMap ;_egdd *_be .ByteRuneMap ;_ddc *_be .RuneSet ;};func (_bgg *differencesEncoding )Encode (str string )[]byte {_gda :=[]rune (str );_fgb :=_eec .NewBuffer (nil );_fgb .Grow (len (_gda ));for _ ,_bdb :=range _gda {_gff ,_ :=_bgg .RuneToCharcode (_bdb );
|
|
|
|
|
_fgb .WriteByte (byte (_gff ));};return _fgb .Bytes ();};func (_fdbe *simpleEncoder )Transform (dst ,src []byte ,atEOF bool )(_cgf ,_gafb int ,_ error ){for len (src )!=0{if !_ecg .FullRune (src )&&!atEOF {return _cgf ,_gafb ,_ed .ErrShortSrc ;}else if len (dst )==0{return _cgf ,_gafb ,_ed .ErrShortDst ;
|
|
|
|
|
};_cef ,_dfgc :=_ecg .DecodeRune (src );if _cef ==_ecg .RuneError {_cef =MissingCodeRune ;};src =src [_dfgc :];_gafb +=_dfgc ;_befb ,_ddcc :=_fdbe ._aacf .Read (_cef );if !_ddcc {_befb ,_ =_fdbe ._aacf .Read (MissingCodeRune );};dst [0]=_befb ;dst =dst [1:];
|
|
|
|
|
_cgf ++;};return _cgf ,_gafb ,nil ;};type differencesEncoding struct{_eac SimpleEncoder ;_befc *charCodeGlyphNameMap ;_dedd *_be .ByteRuneMap ;_dgf *_be .RuneByteMap ;};func (_bge *IdentityEncoder )RegisteredRunes ()[]rune {_ebf :=make ([]rune ,_bge ._adbc .Length ());
|
|
|
|
|
_bbea :=0;_bge ._adbc .Range (func (_agag rune )(_cbfc bool ){_ebf [_bbea ]=_agag ;_bbea ++;return false });return _ebf ;};const _fed ="\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";var _cfgg =_be .NewStringRuneMap (map[string ]rune {"\u0066\u005f\u0074":0xe000,"\u0066\u005f\u006a":0xe001,"\u0066\u005f\u0062":0xe002,"\u0066\u005f\u0068":0xe003,"\u0066\u005f\u006b":0xe004,"\u0074\u005f\u0074":0xe005,"\u0074\u005f\u0066":0xe006,"\u0066\u005f\u0066_\u006a":0xe007,"\u0066\u005f\u0066_\u0062":0xe008,"\u0066\u005f\u0066_\u0068":0xe009,"\u0066\u005f\u0066_\u006b":0xe00a,"\u0054\u005f\u0068":0xe00b});
|
|
|
|
|
func NewWinAnsiEncoder ()SimpleEncoder {return _deg .NewEncoder ()};func (_fcc *simpleEncoding )RuneToCharcode (r rune )(CharCode ,bool ){_eba ,_ebeb :=_fcc ._fbf .Read (r );if _fcc ._ddc ==nil {_fcc ._ddc =_be .MakeRuneSet (1);};_fcc ._ddc .Write (r );
|
|
|
|
|
return CharCode (_eba ),_ebeb ;};func (_cdfa *IdentityEncoder )RuneToCharcode (r rune )(CharCode ,bool ){_cdfa ._adbc .Write (r );return CharCode (r ),true ;};func _febd (_ffe TextEncoder ,_gaf string )[]byte {_eeb :=make ([]byte ,0,len (_gaf ));for _ ,_beca :=range _gaf {_ege ,_bbe :=_ffe .RuneToCharcode (_beca );
|
|
|
|
|
if !_bbe ||_ege > 0xff{_eae .Log .Debug ("\u0046\u0061i\u006c\u0065\u0064\u0020\u0074\u006f\u0020\u006d\u0061\u0070\u0020\u0072\u0075\u006e\u0065\u0020\u0074\u006f\u0020\u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065\u0020\u0066\u006f\u0072\u0020\u0072\u0075\u006e\u0065\u0020\u0030\u0078\u0025\u0030\u0034\u0078",_beca );
|
|
|
|
|
continue ;};_eeb =append (_eeb ,byte (_ege ));};return _eeb ;};type simpleDecoder struct{_fbee *_be .ByteRuneMap };var _eea =_be .NewRuneStringMap (map[rune ]string {0xfffd:"\u002en\u006f\u0074\u0064\u0065\u0066",0x250a:"\u0032\u0035\u0030\u0061",0x250b:"\u0032\u0035\u0030\u0062",0x250d:"\u0032\u0035\u0030\u0064",0x250e:"\u0032\u0035\u0030\u0065",0x250f:"\u0032\u0035\u0030\u0066",0x251a:"\u0032\u0035\u0031\u0061",0x251b:"\u0032\u0035\u0031\u0062",0x251d:"\u0032\u0035\u0031\u0064",0x251e:"\u0032\u0035\u0031\u0065",0x251f:"\u0032\u0035\u0031\u0066",0x252a:"\u0032\u0035\u0032\u0061",0x252b:"\u0032\u0035\u0032\u0062",0x252d:"\u0032\u0035\u0032\u0064",0x252e:"\u0032\u0035\u0032\u0065",0x252f:"\u0032\u0035\u0032\u0066",0x253a:"\u0032\u0035\u0033\u0061",0x253b:"\u0032\u0035\u0033\u0062",0x253d:"\u0032\u0035\u0033\u0064",0x253e:"\u0032\u0035\u0033\u0065",0x253f:"\u0032\u0035\u0033\u0066",0x254a:"\u0032\u0035\u0034\u0061",0x254b:"\u0032\u0035\u0034\u0062",0x254c:"\u0032\u0035\u0034\u0063",0x254d:"\u0032\u0035\u0034\u0064",0x254e:"\u0032\u0035\u0034\u0065",0x254f:"\u0032\u0035\u0034\u0066",0x256d:"\u0032\u0035\u0036\u0064",0x256e:"\u0032\u0035\u0036\u0065",0x256f:"\u0032\u0035\u0036\u0066",0x257a:"\u0032\u0035\u0037\u0061",0x257b:"\u0032\u0035\u0037\u0062",0x257c:"\u0032\u0035\u0037\u0063",0x257d:"\u0032\u0035\u0037\u0064",0x257e:"\u0032\u0035\u0037\u0065",0x257f:"\u0032\u0035\u0037\u0066",0x0041:"\u0041",0x00c6:"\u0041\u0045",0x01fc:"\u0041E\u0061\u0063\u0075\u0074\u0065",0x01e2:"\u0041\u0045\u006d\u0061\u0063\u0072\u006f\u006e",0xf7e6:"\u0041E\u0073\u006d\u0061\u006c\u006c",0x2370:"\u0041\u0050\u004c\u0062\u006f\u0078\u0071\u0075\u0065s\u0074\u0069\u006f\u006e",0x2353:"\u0041\u0050\u004c\u0062\u006f\u0078\u0075\u0070\u0063\u0061\u0072\u0065\u0074",0x2340:"\u0041P\u004cn\u006f\u0074\u0062\u0061\u0063\u006b\u0073\u006c\u0061\u0073\u0068",0x233f:"A\u0050\u004c\u006e\u006f\u0074\u0073\u006c\u0061\u0073\u0068",0x00c1:"\u0041\u0061\u0063\u0075\u0074\u0065",0xf7e1:"A\u0061\u0063\u0075\u0074\u0065\u0073\u006d\u0061\u006c\u006c",0x0102:"\u0041\u0062\u0072\u0065\u0076\u0065",0x1eae:"A\u0062\u0072\u0065\u0076\u0065\u0061\u0063\u0075\u0074\u0065",0x04d0:"\u0041\u0062\u0072\u0065\u0076\u0065\u0063\u0079\u0072i\u006c\u006c\u0069\u0063",0x1eb6:"\u0041\u0062\u0072\u0065\u0076\u0065\u0064\u006f\u0074b\u0065\u006c\u006f\u0077",0x1eb0:"A\u0062\u0072\u0065\u0076\u0065\u0067\u0072\u0061\u0076\u0065",0x1eb2:"\u0041b\u0072e\u0076\u0065\u0068\u006f\u006f\u006b\u0061\u0062\u006f\u0076\u0065",0x1eb4:"A\u0062\u0072\u0065\u0076\u0065\u0074\u0069\u006c\u0064\u0065",0x01cd:"\u0041\u0063\u0061\u0072\u006f\u006e",0x24b6:"\u0041c\u0069\u0072\u0063\u006c\u0065",0x00c2:"A\u0063\u0069\u0072\u0063\u0075\u006d\u0066\u006c\u0065\u0078",0x1ea4:"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0061\u0063\u0075\u0074\u0065",0x1eac:"\u0041\u0063\u0069\u0072cu\u006d\u0066\u006c\u0065\u0078\u0064\u006f\u0074\u0062\u0065\u006c\u006f\u0077",0x1ea6:"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0067\u0072\u0061\u0076\u0065",0x1ea8:"A\u0063i\u0072\u0063\u0075\u006d\u0066\u006c\u0065\u0078h\u006f\u006f\u006b\u0061bo\u0076\u0065",0xf7e2:"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0073\u006d\u0061\u006c\u006c",0x1eaa:"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0074\u0069\u006c\u0064\u0065",0xf6c9:"\u0041\u0063\u0075t\u0065",0xf7b4:"\u0041\u0063\u0075\u0074\u0065\u0073\u006d\u0061\u006c\u006c",0x0200:"\u0041d\u0062\u006c\u0067\u0072\u0061\u0076e",0x00c4:"\u0041d\u0069\u0065\u0072\u0065\u0073\u0069s",0x04d2:"\u0041\u0064\u0069\u0065\u0072\u0065\u0073\u0069\u0073\u0063\u0079\u0072i\u006c\u006c\u0069\u0063",0x01de:"\u0041d\u0069e\u0072\u0065\u0073\u0069\u0073\u006d\u0061\u0063\u0072\u006f\u006e",0xf7e4:"\u0041\u0064\u0069\u0065\u0072\u0065\u0073\u0069\u0073s\u006d\u0061\u006c\u006c",0x1ea0:"\u0041d\u006f\u0074\u0062\u0065\u006c\u006fw",0x01e0:"\u0041\u0064\u006f\u0074\u006d\u0061\u0063\u0072\u006f\u006e",0x00c0:"\u0041\u0067\u0072\u0061\u0076\u0065",0xf7e0:"A\u0067\u0072\u0061\u0076\u0065\u0073\u006d\u0061\u006c\u006c",0x1ea2:"\u004
|
|
|
|
|
func NewSymbolEncoder ()SimpleEncoder {return _cgce .NewEncoder ()};type simpleEncodersMap struct{_bae map[string ]func ()SimpleEncoder ;_gdee _a .RWMutex ;};func (_dc *charCodeGlyphNameMap )Write (k CharCode ,v GlyphName ){_dc ._bbb .Lock ();defer _dc ._bbb .Unlock ();
|
|
|
|
|
_dc ._fg [k ]=v ;};func _ffef (_ggb string ,_bgc *_be .ByteRuneMap )*simpleMapping {return &simpleMapping {_bba :_ggb ,_fge :_bgc };};func NewPdfDocEncoder ()SimpleEncoder {return _efdb .NewEncoder ()};const (MissingCodeRune ='\ufffd';MissingCodeString =string (MissingCodeRune );
|
|
|
|
|
);func (_dede UTF16Encoder )RuneToCharcode (r rune )(CharCode ,bool ){return CharCode (r ),true };type TrueTypeFontEncoder struct{_cdab *_be .RuneUint16Map ;_fedc *_be .RuneSet ;};type simpleMapping struct{_bba string ;_dace _a .Once ;_fge *_be .ByteRuneMap ;
|
|
|
|
|
_cdaf *_be .RuneByteMap ;};var _gdda =_be .NewStringsMap (_egga [:]);func (_aac *IdentityEncoder )ToPdfObject ()_ea .PdfObject {if _aac ._bgge !=""{return _ea .MakeName (_aac ._bgge );};return _ea .MakeNull ();};var _abeb =_be .NewByteRuneMap (map[byte ]rune {0x20:' ',0x21:'!',0x22:'"',0x23:'#',0x24:'$',0x25:'%',0x26:'&',0x27:'’',0x28:'(',0x29:')',0x2a:'*',0x2b:'+',0x2c:',',0x2d:'-',0x2e:'.',0x2f:'/',0x30:'0',0x31:'1',0x32:'2',0x33:'3',0x34:'4',0x35:'5',0x36:'6',0x37:'7',0x38:'8',0x39:'9',0x3a:':',0x3b:';',0x3c:'<',0x3d:'=',0x3e:'>',0x3f:'?',0x40:'@',0x41:'A',0x42:'B',0x43:'C',0x44:'D',0x45:'E',0x46:'F',0x47:'G',0x48:'H',0x49:'I',0x4a:'J',0x4b:'K',0x4c:'L',0x4d:'M',0x4e:'N',0x4f:'O',0x50:'P',0x51:'Q',0x52:'R',0x53:'S',0x54:'T',0x55:'U',0x56:'V',0x57:'W',0x58:'X',0x59:'Y',0x5a:'Z',0x5b:'[',0x5c:'\\',0x5d:']',0x5e:'^',0x5f:'_',0x60:'‘',0x61:'a',0x62:'b',0x63:'c',0x64:'d',0x65:'e',0x66:'f',0x67:'g',0x68:'h',0x69:'i',0x6a:'j',0x6b:'k',0x6c:'l',0x6d:'m',0x6e:'n',0x6f:'o',0x70:'p',0x71:'q',0x72:'r',0x73:'s',0x74:'t',0x75:'u',0x76:'v',0x77:'w',0x78:'x',0x79:'y',0x7a:'z',0x7b:'{',0x7c:'|',0x7d:'}',0x7e:'~',0xa1:'¡',0xa2:'¢',0xa3:'£',0xa4:'⁄',0xa5:'¥',0xa6:'ƒ',0xa7:'§',0xa8:'¤',0xa9:'\'',0xaa:'“',0xab:'«',0xac:'‹',0xad:'›',0xae:'fi',0xaf:'fl',0xb1:'–',0xb2:'†',0xb3:'‡',0xb4:'·',0xb6:'¶',0xb7:'•',0xb8:'‚',0xb9:'„',0xba:'”',0xbb:'»',0xbc:'…',0xbd:'‰',0xbf:'¿',0xc1:'`',0xc2:'´',0xc3:'ˆ',0xc4:'˜',0xc5:'¯',0xc6:'˘',0xc7:'˙',0xc8:'¨',0xca:'˚',0xcb:'¸',0xcc:'˝',0xcd:'˛',0xce:'ˇ',0xcf:'—',0xe1:'Æ',0xe3:'ª',0xe8:'Ł',0xe9:'Ø',0xea:'Œ',0xeb:'º',0xf1:'æ',0xf5:'ı',0xf8:'ł',0xf9:'ø',0xfa:'œ',0xfb:'ß'});
|
|
|
|
|
func (_baf *simpleEncoding )NewEncoder ()*_cg .Encoder {return &_cg .Encoder {Transformer :&simpleEncoder {_aacf :_baf ._fbf }};};func ApplyDifferences (base SimpleEncoder ,differences map[CharCode ]GlyphName )SimpleEncoder {if len (differences )==0{return base ;
|
|
|
|
|
};_gd :=make ([]charCodeGlyphNameTuple ,len (differences ));var _fd int ;for _ada ,_ead :=range differences {_gd [_fd ]=charCodeGlyphNameTuple {CharCode :_ada ,GlyphName :_ead };_fd ++;};_aa :=&differencesEncoding {_eac :base ,_befc :_bec (_gd ...),_dedd :_be .MakeByteRuneMap (len (differences )),_dgf :_be .MakeRuneByteMap (len (differences ))};
|
|
|
|
|
if _bac ,_gdd :=base .(*differencesEncoding );_gdd {_gbf :=make (map[CharCode ]GlyphName );_bac ._befc .Range (func (_gage CharCode ,_bacb GlyphName )(_eca bool ){_gbf [_gage ]=_bacb ;return false });_aa ._befc .Range (func (_gaa CharCode ,_daa GlyphName )(_aed bool ){_gbf [_gaa ]=_daa ;
|
|
|
|
|
return false });differences =_gbf ;};for _gadf ,_eb :=range differences {_cdf :=byte (_gadf );_gggd ,_ecc :=GlyphToRune (_eb );if _ecc {_aa ._dgf .Write (_gggd ,_cdf );}else {_eae .Log .Debug ("\u0045R\u0052\u004fR\u003a\u0020\u004e\u006f \u006d\u0061\u0074c\u0068\u0020\u0066\u006f\u0072\u0020\u0067\u006c\u0079ph\u003d\u0025\u0071 \u0064\u0069f\u0066\u0065\u0072\u0065\u006e\u0063e\u0073\u003d%\u002b\u0076",_eb ,differences );
|
|
|
|
|
};_aa ._dedd .Write (_cdf ,_gggd );};return _aa ;};func (_gee *simpleEncoding )String ()string {return "\u0073i\u006dp\u006c\u0065\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u0028"+_gee ._ecaa +"\u0029";};type GID uint16 ;func ExpandLigatures (runes []rune )string {var _gac _eec .Buffer ;
|
|
|
|
|
for _ ,_gbg :=range runes {_egeg :=RuneToString (_gbg );_gac .WriteString (_egeg );};return _gac .String ();};func (_fcf UTF16Encoder )CharcodeToRune (code CharCode )(rune ,bool ){return rune (code ),true };var _fdeg =_be .NewByteRuneMap (map[byte ]rune {0x1:'\x01',0x2:'\x02',0x3:'\x03',0x4:'\x04',0x5:'\x05',0x6:'\x06',0x7:'\a',0x8:'\b',0x9:'\t',0xa:'\n',0xb:'\v',0xc:'\f',0xd:'\r',0xe:'\x0e',0xf:'\x0f',0x10:'\x10',0x11:'\x11',0x12:'\x12',0x13:'\x13',0x14:'\x14',0x15:'\x15',0x16:'\x16',0x17:'\x17',0x18:'\x18',0x19:'\x19',0x1a:'\x1a',0x1b:'\x1b',0x1c:'\x1c',0x1d:'\x1d',0x1e:'\x1e',0x1f:'\x1f',0x20:' ',0x21:'!',0x22:'"',0x23:'#',0x24:'$',0x25:'%',0x26:'&',0x27:'\'',0x28:'(',0x29:')',0x2a:'*',0x2b:'+',0x2c:',',0x2d:'-',0x2e:'.',0x2f:'/',0x30:'0',0x31:'1',0x32:'2',0x33:'3',0x34:'4',0x35:'5',0x36:'6',0x37:'7',0x38:'8',0x39:'9',0x3a:':',0x3b:';',0x3c:'<',0x3d:'=',0x3e:'>',0x3f:'?',0x40:'@',0x41:'A',0x42:'B',0x43:'C',0x44:'D',0x45:'E',0x46:'F',0x47:'G',0x48:'H',0x49:'I',0x4a:'J',0x4b:'K',0x4c:'L',0x4d:'M',0x4e:'N',0x4f:'O',0x50:'P',0x51:'Q',0x52:'R',0x53:'S',0x54:'T',0x55:'U',0x56:'V',0x57:'W',0x58:'X',0x59:'Y',0x5a:'Z',0x5b:'[',0x5c:'\\',0x5d:']',0x5e:'^',0x5f:'_',0x60:'`',0x61:'a',0x62:'b',0x63:'c',0x64:'d',0x65:'e',0x66:'f',0x67:'g',0x68:'h',0x69:'i',0x6a:'j',0x6b:'k',0x6c:'l',0x6d:'m',0x6e:'n',0x6f:'o',0x70:'p',0x71:'q',0x72:'r',0x73:'s',0x74:'t',0x75:'u',0x76:'v',0x77:'w',0x78:'x',0x79:'y',0x7a:'z',0x7b:'{',0x7c:'|',0x7d:'}',0x7e:'~',0x7f:'\u007f',0x80:'Ä',0x81:'Å',0x82:'Ç',0x83:'É',0x84:'Ñ',0x85:'Ö',0x86:'Ü',0x87:'á',0x88:'à',0x89:'â',0x8a:'ä',0x8b:'ã',0x8c:'å',0x8d:'ç',0x8e:'é',0x8f:'è',0x90:'ê',0x91:'ë',0x92:'í',0x93:'ì',0x94:'î',0x95:'ï',0x96:'ñ',0x97:'ó',0x98:'ò',0x99:'ô',0x9a:'ö',0x9b:'õ',0x9c:'ú',0x9d:'ù',0x9e:'û',0x9f:'ü',0xa0:'†',0xa1:'°',0xa2:'¢',0xa3:'£',0xa4:'§',0xa5:'•',0xa6:'¶',0xa7:'ß',0xa8:'®',0xa9:'©',0xaa:'™',0xab:'´',0xac:'¨',0xad:'≠',0xae:'Æ',0xaf:'Ø',0xb0:'∞',0xb1:'±',0xb2:'≤',0xb3:'≥',0xb4:'¥',0xb5:'µ',0xb6:'∂',0xb7:'∑',0xb8:'∏',0xb9:'π',0xba:'∫',0xbb:'ª',0xbc:'º',0xbd:'Ω',0xbe:'æ',0xbf:'ø',0xc0:'¿',0xc1:'¡',0xc2:'¬',0xc3:'√',0xc4:'ƒ',0xc5:'≈',0xc6:'∆',0xc7:'«',0xc8:'»',0xc9:'…',0xca:'\u00a0',0xcb:'À',0xcc:'Ã',0xcd:'Õ',0xce:'Œ',0xcf:'œ',0xd0:'–',0xd1:'—',0xd2:'“',0xd3:'”',0xd4:'‘',0xd5:'’',0xd6:'÷',0xd7:'◊',0xd8:'ÿ',0xd9:'Ÿ',0xda:'⁄',0xdb:'€',0xdc:'‹',0xdd:'›',0xde:'fi',0xdf:'fl',0xe0:'‡',0xe1:'·',0xe2:'‚',0xe3:'„',0xe4:'‰',0xe5:'Â',0xe6:'Ê',0xe7:'Á',0xe8:'Ë',0xe9:'È',0xea:'Í',0xeb:'Î',0xec:'Ï',0xed:'Ì',0xee:'Ó',0xef:'Ô',0xf0:'\uf8ff',0xf1:'Ò',0xf2:'Ú',0xf3:'Û',0xf4:'Ù',0xf5:'ı',0xf6:'ˆ',0xf7:'˜',0xf8:'¯',0xf9:'˘',0xfa:'˙',0xfb:'˚',0xfc:'¸',0xfd:'˝',0xfe:'˛',0xff:'ˇ'});
|
|
|
|
|
func (_fefd *simpleMapping )init (){_fefd ._cdaf =_be .MakeRuneByteMap (_fefd ._fge .Length ());_fefd ._fge .Range (func (_adaa byte ,_bbf rune )(_cgbc bool ){if _cabc ,_bgec :=_fefd ._cdaf .Read (_bbf );!_bgec ||_adaa < _cabc {_fefd ._cdaf .Write (_bbf ,_adaa );
|
|
|
|
|
};return false ;});};func (_add *differencesEncoding )ToPdfObject ()_ea .PdfObject {_dfc :=_ea .MakeDict ();_dfc .Set ("\u0054\u0079\u0070\u0065",_ea .MakeName ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));_dfc .Set ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_add ._eac .ToPdfObject ());
|
|
|
|
|
if _bcc :=_bda (_add ._befc );_bcc !=nil {_dfc .Set ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073",_bcc );}else {_eae .Log .Debug ("W\u0041\u0052\u004e\u003a\u0020\u0066\u006f\u006e\u0074\u0020\u0044\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073\u0020\u0061\u0072\u0072\u0061y\u0020i\u0073\u0020\u006e\u0069l\u002e\u0020O\u0075\u0074\u0070\u0075\u0074\u0020\u006d\u0061\u0079\u0020\u0062\u0065\u0020\u0069\u006e\u0063\u006f\u0072\u0072\u0065\u0063\u0074\u002e");
|
|
|
|
|
};return _ea .MakeIndirectObject (_dfc );};func (_bcde *TrueTypeFontEncoder )GlyphToCharcode (glyph GlyphName )(CharCode ,bool ){if len (glyph )==7&&glyph [0:3]=="\u0075\u006e\u0069"{var _cbcb uint16 ;_cdafb ,_dab :=_bb .Sscanf (string (glyph ),"\u0075\u006e\u0069%\u0058",&_cbcb );
|
|
|
|
|
if _cdafb ==1&&_dab ==nil {return _bcde .RuneToCharcode (rune (_cbcb ));};};if _efgc ,_dae :=_affd .Read (string (glyph ));_dae {return _bcde .RuneToCharcode (_efgc );};_eae .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0065\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0065r\u0072\u006f\u0072\u003a\u0020\u0075\u006e\u0061\u0062\u006ce\u0020\u0074\u006f\u0020\u0066\u0069\u006e\u0064\u0020\u0067\u006c\u0079\u0070\u0068\u002d\u003e\u0063\u0068a\u0072\u0063\u006f\u0064\u0065\u0020e\u006e\u0074r\u0079\u0020(\u0025s\u0029",glyph );
|
|
|
|
|
return 0,false ;};func (_ddd *TrueTypeFontEncoder )RuneToCharcode (r rune )(CharCode ,bool ){_ddae ,_degb :=_ddd ._cdab .Read (r );if !_degb {_eae .Log .Debug ("M\u0069\u0073\u0073\u0069\u006e\u0067 \u0072\u0075\u006e\u0065\u0020\u0025d\u0020\u0028\u0025\u002b\u0071\u0029\u0020f\u0072\u006f\u006d\u0020\u0065\u006e\u0063\u006f\u0064\u0069n\u0067",r ,r );
|
|
|
|
|
return 0,false ;};_ddd ._fedc .Write (r );_acga :=CharCode (_ddae );return _acga ,true ;};func NewCustomSimpleTextEncoder (encoding ,differences map[CharCode ]GlyphName )(SimpleEncoder ,error ){if len (encoding )==0{return nil ,_f .New ("e\u006d\u0070\u0074\u0079 c\u0075s\u0074\u006f\u006d\u0020\u0065n\u0063\u006f\u0064\u0069\u006e\u0067");
|
|
|
|
|
};const _cfggc ="\u0063\u0075\u0073\u0074\u006f\u006d";_dfce :=_be .MakeByteRuneMap (len (encoding ));for _ebe ,_cgb :=range encoding {_cdda ,_bage :=GlyphToRune (_cgb );if !_bage {_eae .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u006b\u006e\u006f\u0077n\u0020\u0067\u006c\u0079\u0070\u0068\u002e\u0020\u0025\u0071",_cgb );
|
|
|
|
|
continue ;};_dfce .Write (byte (_ebe ),_cdda );};_aee :=_gagc (_cfggc ,_dfce );if len (differences )!=0{_aee =ApplyDifferences (_aee ,differences );};return _aee ,nil ;};func (_cgdba *TrueTypeFontEncoder )ToPdfObject ()_ea .PdfObject {return _ea .MakeNull ()};
|
|
|
|
|
type UTF16Encoder struct{_dcee string };func (_cffa *TrueTypeFontEncoder )String ()string {_bagd :=[]string {_bb .Sprintf ("\u0025\u0064\u0020\u0065\u006e\u0074\u0072\u0069\u0065\u0073",_cffa ._cdab .Length ())};type runeGID struct{_dfcg rune ;_gcbg GID ;
|
|
|
|
|
};_dggg :=make ([]runeGID ,0,_cffa ._cdab .Length ());_cffa ._cdab .Range (func (_bbgb rune ,_faa uint16 )(_gecf bool ){_dggg =append (_dggg ,runeGID {_dfcg :_bbgb ,_gcbg :GID (_faa )});return false ;});_g .Slice (_dggg ,func (_gggb ,_egce int )bool {return _dggg [_gggb ]._dfcg < _dggg [_egce ]._dfcg });
|
|
|
|
|
_gfc :=len (_dggg );if _gfc > _abf {_gfc =_abf ;};for _fafc :=0;_fafc < _gfc ;_fafc ++{_bdd :=_dggg [_fafc ];_bagd =append (_bagd ,_bb .Sprintf ("\u0025\u0064\u003d\u0030\u0078\u0025\u0030\u0032\u0078\u003a\u0020\u0025\u0071",_bdd ._dfcg ,_bdd ._dfcg ,_bdd ._gcbg ));
|
|
|
|
|
};return _bb .Sprintf ("T\u0052U\u0045\u0054\u0059\u0050\u0045\u005f\u0045\u004eC\u004f\u0044\u0045\u0052{%\u0073\u007d",_d .Join (_bagd ,"\u002c\u0020"));};func init (){RegisterSimpleEncoding (_ccef ,NewMacExpertEncoder );RegisterSimpleEncoding (_ebebe ,NewMacRomanEncoder );
|
|
|
|
|
};var _dcfa =_be .NewByteRuneMap (map[byte ]rune {0x20:' ',0x21:'!',0x22:'∀',0x23:'#',0x24:'∃',0x25:'%',0x26:'&',0x27:'∋',0x28:'(',0x29:')',0x2a:'∗',0x2b:'+',0x2c:',',0x2d:'−',0x2e:'.',0x2f:'/',0x30:'0',0x31:'1',0x32:'2',0x33:'3',0x34:'4',0x35:'5',0x36:'6',0x37:'7',0x38:'8',0x39:'9',0x3a:':',0x3b:';',0x3c:'<',0x3d:'=',0x3e:'>',0x3f:'?',0x40:'≅',0x41:'Α',0x42:'Β',0x43:'Χ',0x44:'∆',0x45:'Ε',0x46:'Φ',0x47:'Γ',0x48:'Η',0x49:'Ι',0x4a:'ϑ',0x4b:'Κ',0x4c:'Λ',0x4d:'Μ',0x4e:'Ν',0x4f:'Ο',0x50:'Π',0x51:'Θ',0x52:'Ρ',0x53:'Σ',0x54:'Τ',0x55:'Υ',0x56:'ς',0x57:'Ω',0x58:'Ξ',0x59:'Ψ',0x5a:'Ζ',0x5b:'[',0x5c:'∴',0x5d:']',0x5e:'⊥',0x5f:'_',0x60:'\uf8e5',0x61:'α',0x62:'β',0x63:'χ',0x64:'δ',0x65:'ε',0x66:'φ',0x67:'γ',0x68:'η',0x69:'ι',0x6a:'ϕ',0x6b:'κ',0x6c:'λ',0x6d:'µ',0x6e:'ν',0x6f:'ο',0x70:'π',0x71:'θ',0x72:'ρ',0x73:'σ',0x74:'τ',0x75:'υ',0x76:'ϖ',0x77:'ω',0x78:'ξ',0x79:'ψ',0x7a:'ζ',0x7b:'{',0x7c:'|',0x7d:'}',0x7e:'∼',0xa0:'€',0xa1:'ϒ',0xa2:'′',0xa3:'≤',0xa4:'⁄',0xa5:'∞',0xa6:'ƒ',0xa7:'♣',0xa8:'♦',0xa9:'♥',0xaa:'♠',0xab:'↔',0xac:'←',0xad:'↑',0xae:'→',0xaf:'↓',0xb0:'°',0xb1:'±',0xb2:'″',0xb3:'≥',0xb4:'×',0xb5:'∝',0xb6:'∂',0xb7:'•',0xb8:'÷',0xb9:'≠',0xba:'≡',0xbb:'≈',0xbc:'…',0xbd:'\uf8e6',0xbe:'\uf8e7',0xbf:'↵',0xc0:'ℵ',0xc1:'ℑ',0xc2:'ℜ',0xc3:'℘',0xc4:'⊗',0xc5:'⊕',0xc6:'∅',0xc7:'∩',0xc8:'∪',0xc9:'⊃',0xca:'⊇',0xcb:'⊄',0xcc:'⊂',0xcd:'⊆',0xce:'∈',0xcf:'∉',0xd0:'∠',0xd1:'∇',0xd2:'\uf6da',0xd3:'\uf6d9',0xd4:'\uf6db',0xd5:'∏',0xd6:'√',0xd7:'⋅',0xd8:'¬',0xd9:'∧',0xda:'∨',0xdb:'⇔',0xdc:'⇐',0xdd:'⇑',0xde:'⇒',0xdf:'⇓',0xe0:'◊',0xe1:'〈',0xe2:'\uf8e8',0xe3:'\uf8e9',0xe4:'\uf8ea',0xe5:'∑',0xe6:'\uf8eb',0xe7:'\uf8ec',0xe8:'\uf8ed',0xe9:'\uf8ee',0xea:'\uf8ef',0xeb:'\uf8f0',0xec:'\uf8f1',0xed:'\uf8f2',0xee:'\uf8f3',0xef:'\uf8f4',0xf1:'〉',0xf2:'∫',0xf3:'⌠',0xf4:'\uf8f5',0xf5:'⌡',0xf6:'\uf8f6',0xf7:'\uf8f7',0xf8:'\uf8f8',0xf9:'\uf8f9',0xfa:'\uf8fa',0xfb:'\uf8fb',0xfc:'\uf8fc',0xfd:'\uf8fd',0xfe:'\uf8fe'});
|
|
|
|
|
func NewTrueTypeFontEncoder (runeToGIDMap map[rune ]GID )*TrueTypeFontEncoder {_eef :=_be .MakeRuneUint16Map (len (runeToGIDMap ));for _cbd ,_bdaa :=range runeToGIDMap {_eef .Write (_cbd ,uint16 (_bdaa ));};return &TrueTypeFontEncoder {_cdab :_eef ,_fedc :_be .MakeRuneSet (0)};
|
|
|
|
|
};func (_ac CMapEncoder )RuneToCharcode (r rune )(CharCode ,bool ){if _ac ._ggg ==nil {return 0,false ;};_gc ,_efg :=_ac ._ggg .StringToCID (string (r ));if !_efg {return 0,false ;};if _ac ._ge !=nil {_fe ,_cgg :=_ac ._ge .CIDToCharcode (_gc );if !_cgg {return 0,false ;
|
|
|
|
|
};return CharCode (_fe ),true ;};return CharCode (_gc ),true ;};var _edc =_be .NewByteRuneMap (map[byte ]rune {0x20:' ',0x21:'\uf721',0x22:'\uf6f8',0x23:'\uf7a2',0x24:'\uf724',0x25:'\uf6e4',0x26:'\uf726',0x27:'\uf7b4',0x28:'⁽',0x29:'⁾',0x2a:'‥',0x2b:'․',0x2c:',',0x2d:'-',0x2e:'.',0x2f:'⁄',0x30:'\uf730',0x31:'\uf731',0x32:'\uf732',0x33:'\uf733',0x34:'\uf734',0x35:'\uf735',0x36:'\uf736',0x37:'\uf737',0x38:'\uf738',0x39:'\uf739',0x3a:':',0x3b:';',0x3d:'\uf6de',0x3f:'\uf73f',0x44:'\uf7f0',0x47:'¼',0x48:'½',0x49:'¾',0x4a:'⅛',0x4b:'⅜',0x4c:'⅝',0x4d:'⅞',0x4e:'⅓',0x4f:'⅔',0x56:'ff',0x57:'fi',0x58:'fl',0x59:'ffi',0x5a:'ffl',0x5b:'₍',0x5d:'₎',0x5e:'\uf6f6',0x5f:'\uf6e5',0x60:'\uf760',0x61:'\uf761',0x62:'\uf762',0x63:'\uf763',0x64:'\uf764',0x65:'\uf765',0x66:'\uf766',0x67:'\uf767',0x68:'\uf768',0x69:'\uf769',0x6a:'\uf76a',0x6b:'\uf76b',0x6c:'\uf76c',0x6d:'\uf76d',0x6e:'\uf76e',0x6f:'\uf76f',0x70:'\uf770',0x71:'\uf771',0x72:'\uf772',0x73:'\uf773',0x74:'\uf774',0x75:'\uf775',0x76:'\uf776',0x77:'\uf777',0x78:'\uf778',0x79:'\uf779',0x7a:'\uf77a',0x7b:'₡',0x7c:'\uf6dc',0x7d:'\uf6dd',0x7e:'\uf6fe',0x81:'\uf6e9',0x82:'\uf6e0',0x87:'\uf7e1',0x88:'\uf7e0',0x89:'\uf7e2',0x8a:'\uf7e4',0x8b:'\uf7e3',0x8c:'\uf7e5',0x8d:'\uf7e7',0x8e:'\uf7e9',0x8f:'\uf7e8',0x90:'\uf7ea',0x91:'\uf7eb',0x92:'\uf7ed',0x93:'\uf7ec',0x94:'\uf7ee',0x95:'\uf7ef',0x96:'\uf7f1',0x97:'\uf7f3',0x98:'\uf7f2',0x99:'\uf7f4',0x9a:'\uf7f6',0x9b:'\uf7f5',0x9c:'\uf7fa',0x9d:'\uf7f9',0x9e:'\uf7fb',0x9f:'\uf7fc',0xa1:'⁸',0xa2:'₄',0xa3:'₃',0xa4:'₆',0xa5:'₈',0xa6:'₇',0xa7:'\uf6fd',0xa9:'\uf6df',0xaa:'₂',0xac:'\uf7a8',0xae:'\uf6f5',0xaf:'\uf6f0',0xb0:'₅',0xb2:'\uf6e1',0xb3:'\uf6e7',0xb4:'\uf7fd',0xb6:'\uf6e3',0xb9:'\uf7fe',0xbb:'₉',0xbc:'₀',0xbd:'\uf6ff',0xbe:'\uf7e6',0xbf:'\uf7f8',0xc0:'\uf7bf',0xc1:'₁',0xc2:'\uf6f9',0xc9:'\uf7b8',0xcf:'\uf6fa',0xd0:'‒',0xd1:'\uf6e6',0xd6:'\uf7a1',0xd8:'\uf7ff',0xda:'¹',0xdb:'²',0xdc:'³',0xdd:'⁴',0xde:'⁵',0xdf:'⁶',0xe0:'⁷',0xe1:'⁹',0xe2:'⁰',0xe4:'\uf6ec',0xe5:'\uf6f1',0xe6:'\uf6f3',0xe9:'\uf6ed',0xea:'\uf6f2',0xeb:'\uf6eb',0xf1:'\uf6ee',0xf2:'\uf6fb',0xf3:'\uf6f4',0xf4:'\uf7af',0xf5:'\uf6ea',0xf6:'ⁿ',0xf7:'\uf6ef',0xf8:'\uf6e2',0xf9:'\uf6e8',0xfa:'\uf6f7',0xfb:'\uf6fc'});
|
|
|
|
|
func (_cdfd *simpleEncoding )CharcodeToRune (code CharCode )(rune ,bool ){if code > 0xff{return MissingCodeRune ,false ;};_dea :=byte (code );_cfae ,_cgc :=_cdfd ._egdd .Read (_dea );if _cdfd ._ddc ==nil {_cdfd ._ddc =_be .MakeRuneSet (1);};_cdfd ._ddc .Write (_cfae );
|
|
|
|
|
return _cfae ,_cgc ;};var (_efdb =_ffef (_egf ,_fgcf );_bbg =_ffef (_faf ,_abeb ););func init (){RegisterSimpleEncoding (_bfge ,NewSymbolEncoder );RegisterSimpleEncoding (_dbf ,NewZapfDingbatsEncoder );};const (_bfge ="\u0053\u0079\u006d\u0062\u006f\u006c\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";
|
|
|
|
|
_dbf ="Z\u0061p\u0066\u0044\u0069\u006e\u0067\u0062\u0061\u0074s\u0045\u006e\u0063\u006fdi\u006e\u0067";);func (_afc *TrueTypeFontEncoder )Decode (raw []byte )string {return _cgdb (_afc ,raw )};func (_bdf *simpleEncoding )Decode (raw []byte )string {_deb ,_ :=_bdf .NewDecoder ().Bytes (raw );
|
|
|
|
|
return string (_deb );};func (_eab *simpleMapping )NewEncoder ()SimpleEncoder {_eab ._dace .Do (_eab .init );return &simpleEncoding {_ecaa :_eab ._bba ,_fbf :_eab ._cdaf ,_egdd :_eab ._fge };};func NewMacRomanEncoder ()SimpleEncoder {return _befcc .NewEncoder ()};
|
|
|
|
|
func (_caa *charCodeGlyphNameMap )Read (key CharCode )(GlyphName ,bool ){_caa ._bbb .RLock ();defer _caa ._bbb .RUnlock ();_df ,_dg :=_caa ._fg [key ];return _df ,_dg ;};func init (){RegisterSimpleEncoding (_egf ,NewPdfDocEncoder );RegisterSimpleEncoding (_faf ,NewStandardEncoder );
|
|
|
|
|
};func (_fag UTF16Encoder )Encode (str string )[]byte {return []byte (_ab .StringToUTF16 (str ))};func (_egg *charCodeGlyphNameMap )RangeDelete (f func (_cc CharCode ,_cd GlyphName )(_ae bool ,_fa bool )){_egg ._bbb .Lock ();defer _egg ._bbb .Unlock ();
|
|
|
|
|
for _ga ,_fb :=range _egg ._fg {_becf ,_gg :=f (_ga ,_fb );if _becf {delete (_egg ._fg ,_ga );};if _gg {break ;};};};func (_cafc *simpleEncoding )ToPdfObject ()_ea .PdfObject {return _ea .MakeName (_cafc ._ecaa )};func (_fbd CMapEncoder )charcodeToString (_ad CharCode )(string ,bool ){if _fbd ._ggg ==nil {return MissingCodeString ,false ;
|
|
|
|
|
};_gcb :=_bf .CharCode (_ad );if _fbd ._ge !=nil {var _efd bool ;if _gcb ,_efd =_fbd ._ge .CharcodeToCID (_bf .CharCode (_ad ));!_efd {return MissingCodeString ,false ;};};return _fbd ._ggg .CharcodeToUnicode (_gcb );};func NewUTF16TextEncoder (baseName string )UTF16Encoder {return UTF16Encoder {baseName }};
|
|
|
|
|
func (_de CMapEncoder )ToPdfObject ()_ea .PdfObject {if _de ._cfa !=""{return _ea .MakeName (_de ._cfa );};return _ea .MakeNull ();};func init (){RegisterSimpleEncoding (_fed ,NewWinAnsiEncoder )};func (_gfe *differencesEncoding )Decode (raw []byte )string {_ade :=make ([]rune ,0,len (raw ));
|
|
|
|
|
for _ ,_gga :=range raw {_adb ,_ :=_gfe .CharcodeToRune (CharCode (_gga ));_ade =append (_ade ,_adb );};return string (_ade );};var (_cgce =_ffef (_bfge ,_dcfa );_age =_ffef (_dbf ,_debd ););func (_bfgg UTF16Encoder )Decode (raw []byte )string {return _ab .UTF16ToString (raw )};
|
|
|
|
|
func (_dfg *IdentityEncoder )Encode (str string )[]byte {return _gffd (_dfg ,str )};func (_cbfd *simpleEncodersMap )Range (f func (_dcf string ,_afbd func ()SimpleEncoder )(_badb bool )){_cbfd ._gdee .RLock ();defer _cbfd ._gdee .RUnlock ();for _fgba ,_dbg :=range _cbfd ._bae {if f (_fgba ,_dbg ){break ;
|
|
|
|
|
};};};func (_eeeb *differencesEncoding )RuneToCharcode (r rune )(CharCode ,bool ){if _cdfg ,_fbdc :=_eeeb ._dgf .Read (r );_fbdc {return CharCode (_cdfg ),true ;};return _eeeb ._eac .RuneToCharcode (r );};var _gcdf =_be .NewByteRuneMap (map[byte ]rune {0x20:' ',0x21:'!',0x22:'"',0x23:'#',0x24:'$',0x25:'%',0x26:'&',0x27:'\'',0x28:'(',0x29:')',0x2a:'*',0x2b:'+',0x2c:',',0x2d:'-',0x2e:'.',0x2f:'/',0x30:'0',0x31:'1',0x32:'2',0x33:'3',0x34:'4',0x35:'5',0x36:'6',0x37:'7',0x38:'8',0x39:'9',0x3a:':',0x3b:';',0x3c:'<',0x3d:'=',0x3e:'>',0x3f:'?',0x40:'@',0x41:'A',0x42:'B',0x43:'C',0x44:'D',0x45:'E',0x46:'F',0x47:'G',0x48:'H',0x49:'I',0x4a:'J',0x4b:'K',0x4c:'L',0x4d:'M',0x4e:'N',0x4f:'O',0x50:'P',0x51:'Q',0x52:'R',0x53:'S',0x54:'T',0x55:'U',0x56:'V',0x57:'W',0x58:'X',0x59:'Y',0x5a:'Z',0x5b:'[',0x5c:'\\',0x5d:']',0x5e:'^',0x5f:'_',0x60:'`',0x61:'a',0x62:'b',0x63:'c',0x64:'d',0x65:'e',0x66:'f',0x67:'g',0x68:'h',0x69:'i',0x6a:'j',0x6b:'k',0x6c:'l',0x6d:'m',0x6e:'n',0x6f:'o',0x70:'p',0x71:'q',0x72:'r',0x73:'s',0x74:'t',0x75:'u',0x76:'v',0x77:'w',0x78:'x',0x79:'y',0x7a:'z',0x7b:'{',0x7c:'|',0x7d:'}',0x7e:'~',0x7f:'•',0x80:'€',0x81:'•',0x82:'‚',0x83:'ƒ',0x84:'„',0x85:'…',0x86:'†',0x87:'‡',0x88:'ˆ',0x89:'‰',0x8a:'Š',0x8b:'‹',0x8c:'Œ',0x8d:'•',0x8e:'Ž',0x8f:'•',0x90:'•',0x91:'‘',0x92:'’',0x93:'“',0x94:'”',0x95:'•',0x96:'–',0x97:'—',0x98:'˜',0x99:'™',0x9a:'š',0x9b:'›',0x9c:'œ',0x9d:'•',0x9e:'ž',0x9f:'Ÿ',0xa0:' ',0xa1:'¡',0xa2:'¢',0xa3:'£',0xa4:'¤',0xa5:'¥',0xa6:'¦',0xa7:'§',0xa8:'¨',0xa9:'©',0xaa:'ª',0xab:'«',0xac:'¬',0xad:'-',0xae:'®',0xaf:'¯',0xb0:'°',0xb1:'±',0xb2:'²',0xb3:'³',0xb4:'´',0xb5:'µ',0xb6:'¶',0xb7:'·',0xb8:'¸',0xb9:'¹',0xba:'º',0xbb:'»',0xbc:'¼',0xbd:'½',0xbe:'¾',0xbf:'¿',0xc0:'À',0xc1:'Á',0xc2:'Â',0xc3:'Ã',0xc4:'Ä',0xc5:'Å',0xc6:'Æ',0xc7:'Ç',0xc8:'È',0xc9:'É',0xca:'Ê',0xcb:'Ë',0xcc:'Ì',0xcd:'Í',0xce:'Î',0xcf:'Ï',0xd0:'Ð',0xd1:'Ñ',0xd2:'Ò',0xd3:'Ó',0xd4:'Ô',0xd5:'Õ',0xd6:'Ö',0xd7:'×',0xd8:'Ø',0xd9:'Ù',0xda:'Ú',0xdb:'Û',0xdc:'Ü',0xdd:'Ý',0xde:'Þ',0xdf:'ß',0xe0:'à',0xe1:'á',0xe2:'â',0xe3:'ã',0xe4:'ä',0xe5:'å',0xe6:'æ',0xe7:'ç',0xe8:'è',0xe9:'é',0xea:'ê',0xeb:'ë',0xec:'ì',0xed:'í',0xee:'î',0xef:'ï',0xf0:'ð',0xf1:'ñ',0xf2:'ò',0xf3:'ó',0xf4:'ô',0xf5:'õ',0xf6:'ö',0xf7:'÷',0xf8:'ø',0xf9:'ù',0xfa:'ú',0xfb:'û',0xfc:'ü',0xfd:'ý',0xfe:'þ',0xff:'ÿ'});
|
|
|
|
|
func (_dce CMapEncoder )Decode (raw []byte )string {if _dce ._ge !=nil {if _dgc ,_cab :=_dce ._ge .BytesToCharcodes (raw );_cab {var _dda _eec .Buffer ;for _ ,_cfe :=range _dgc {_afb ,_ :=_dce .charcodeToString (CharCode (_cfe ));_dda .WriteString (_afb );
|
|
|
|
|
};return _dda .String ();};};return _cgdb (_dce ,raw );};type IdentityEncoder struct{_bgge string ;_adbc *_be .RuneSet ;};func (_ddff simpleDecoder )Transform (dst ,src []byte ,_ bool )(_gcgd ,_aec int ,_ error ){for len (src )!=0{_gdfb :=src [0];src =src [1:];
|
|
|
|
|
_dgb ,_ecf :=_ddff ._fbee .Read (_gdfb );if !_ecf {_dgb =MissingCodeRune ;};if _ecg .RuneLen (_dgb )> len (dst ){return _gcgd ,_aec ,_ed .ErrShortDst ;};_fc :=_ecg .EncodeRune (dst ,_dgb );dst =dst [_fc :];_aec ++;_gcgd +=_fc ;};return _gcgd ,_aec ,nil ;
|
|
|
|
|
};func FromFontDifferences (diffList *_ea .PdfObjectArray )(map[CharCode ]GlyphName ,error ){_afe :=make (map[CharCode ]GlyphName );var _cfaa CharCode ;for _ ,_agc :=range diffList .Elements (){switch _ede :=_agc .(type ){case *_ea .PdfObjectInteger :_cfaa =CharCode (*_ede );
|
|
|
|
|
case *_ea .PdfObjectName :_dgg :=string (*_ede );_afe [_cfaa ]=GlyphName (_dgg );_cfaa ++;default:_eae .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0042\u0061\u0064\u0020\u0074\u0079\u0070\u0065\u002e\u0020\u006f\u0062\u006a\u003d\u0025\u0073",_agc );
|
|
|
|
|
return nil ,_ea .ErrTypeError ;};};return _afe ,nil ;};func (_cfggb *simpleEncoding )BaseName ()string {return _cfggb ._ecaa };func NewStandardEncoder ()SimpleEncoder {return _bbg .NewEncoder ()};type simpleEncoder struct{_aacf *_be .RuneByteMap };func (_gag *charCodeGlyphNameMap )Length ()int {_gag ._bbb .RLock ();
|
|
|
|
|
defer _gag ._bbb .RUnlock ();return len (_gag ._fg );};func (_gfcd *TrueTypeFontEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_ddg :=rune (-1);_gfcd ._cdab .Range (func (_cgbce rune ,_ebfe uint16 )(_aef bool ){_dge :=CharCode (_ebfe );if _dge ==code {_ddg =_cgbce ;
|
|
|
|
|
return true ;};return false ;});if _ddg !=-1{return _ddg ,true ;};_eae .Log .Debug ("\u0043h\u0061\u0072c\u006f\u0064\u0065\u0054o\u0052\u0075\u006ee\u003a\u0020\u004e\u006f\u0020\u006d\u0061\u0074\u0063h.\u0020\u0063\u006fd\u0065\u003d0\u0078\u0025\u0030\u0034\u0078\u0020e\u006e\u0063=\u0025\u0073",code ,_gfcd );
|
|
|
|
|
return 0,false ;};var (_dbb =_ffef (_ccef ,_edc );_befcc =_ffef (_ebebe ,_fdeg ););func (_gcc UTF16Encoder )ToPdfObject ()_ea .PdfObject {if _gcc ._dcee !=""{return _ea .MakeName (_gcc ._dcee );};return _ea .MakeNull ();};func (_gea *simpleEncodersMap )Read (s string )(func ()SimpleEncoder ,bool ){_gea ._gdee .RLock ();
|
|
|
|
|
defer _gea ._gdee .RUnlock ();_eeg ,_cce :=_gea ._bae [s ];return _eeg ,_cce ;};func _dbfd (_cae rune )string {_ffg :="u\u006e\u0070\u0072\u0069\u006e\u0074\u0061\u0062\u006c\u0065";if _ec .IsPrint (_cae ){_ffg =_bb .Sprintf ("\u0025\u0023\u0071",_cae );
|
|
|
|
|
};return _bb .Sprintf ("\u0025\u002b\u0071\u0020\u0028\u0025\u0073\u0029",_cae ,_ffg );};func (_acb *IdentityEncoder )Decode (raw []byte )string {return _cgdb (_acb ,raw )};var _affd =_be .NewStringRuneMap (map[string ]rune {"\u002en\u006f\u0074\u0064\u0065\u0066":0xfffd,"\u0032\u0035\u0030\u0061":0x250a,"\u0032\u0035\u0030\u0062":0x250b,"\u0032\u0035\u0030\u0064":0x250d,"\u0032\u0035\u0030\u0065":0x250e,"\u0032\u0035\u0030\u0066":0x250f,"\u0032\u0035\u0031\u0061":0x251a,"\u0032\u0035\u0031\u0062":0x251b,"\u0032\u0035\u0031\u0064":0x251d,"\u0032\u0035\u0031\u0065":0x251e,"\u0032\u0035\u0031\u0066":0x251f,"\u0032\u0035\u0032\u0061":0x252a,"\u0032\u0035\u0032\u0062":0x252b,"\u0032\u0035\u0032\u0064":0x252d,"\u0032\u0035\u0032\u0065":0x252e,"\u0032\u0035\u0032\u0066":0x252f,"\u0032\u0035\u0033\u0061":0x253a,"\u0032\u0035\u0033\u0062":0x253b,"\u0032\u0035\u0033\u0064":0x253d,"\u0032\u0035\u0033\u0065":0x253e,"\u0032\u0035\u0033\u0066":0x253f,"\u0032\u0035\u0034\u0061":0x254a,"\u0032\u0035\u0034\u0062":0x254b,"\u0032\u0035\u0034\u0063":0x254c,"\u0032\u0035\u0034\u0064":0x254d,"\u0032\u0035\u0034\u0065":0x254e,"\u0032\u0035\u0034\u0066":0x254f,"\u0032\u0035\u0036\u0064":0x256d,"\u0032\u0035\u0036\u0065":0x256e,"\u0032\u0035\u0036\u0066":0x256f,"\u0032\u0035\u0037\u0061":0x257a,"\u0032\u0035\u0037\u0062":0x257b,"\u0032\u0035\u0037\u0063":0x257c,"\u0032\u0035\u0037\u0064":0x257d,"\u0032\u0035\u0037\u0065":0x257e,"\u0032\u0035\u0037\u0066":0x257f,"\u0041":0x0041,"\u0041\u0045":0x00c6,"\u0041E\u0061\u0063\u0075\u0074\u0065":0x01fc,"\u0041\u0045\u006d\u0061\u0063\u0072\u006f\u006e":0x01e2,"\u0041E\u0073\u006d\u0061\u006c\u006c":0xf7e6,"\u0041\u0050\u004c\u0062\u006f\u0078\u0071\u0075\u0065s\u0074\u0069\u006f\u006e":0x2370,"\u0041\u0050\u004c\u0062\u006f\u0078\u0075\u0070\u0063\u0061\u0072\u0065\u0074":0x2353,"\u0041P\u004cn\u006f\u0074\u0062\u0061\u0063\u006b\u0073\u006c\u0061\u0073\u0068":0x2340,"A\u0050\u004c\u006e\u006f\u0074\u0073\u006c\u0061\u0073\u0068":0x233f,"\u0041\u0061\u0063\u0075\u0074\u0065":0x00c1,"A\u0061\u0063\u0075\u0074\u0065\u0073\u006d\u0061\u006c\u006c":0xf7e1,"\u0041\u0062\u0072\u0065\u0076\u0065":0x0102,"A\u0062\u0072\u0065\u0076\u0065\u0061\u0063\u0075\u0074\u0065":0x1eae,"\u0041\u0062\u0072\u0065\u0076\u0065\u0063\u0079\u0072i\u006c\u006c\u0069\u0063":0x04d0,"\u0041\u0062\u0072\u0065\u0076\u0065\u0064\u006f\u0074b\u0065\u006c\u006f\u0077":0x1eb6,"A\u0062\u0072\u0065\u0076\u0065\u0067\u0072\u0061\u0076\u0065":0x1eb0,"\u0041b\u0072e\u0076\u0065\u0068\u006f\u006f\u006b\u0061\u0062\u006f\u0076\u0065":0x1eb2,"A\u0062\u0072\u0065\u0076\u0065\u0074\u0069\u006c\u0064\u0065":0x1eb4,"\u0041\u0063\u0061\u0072\u006f\u006e":0x01cd,"\u0041c\u0069\u0072\u0063\u006c\u0065":0x24b6,"A\u0063\u0069\u0072\u0063\u0075\u006d\u0066\u006c\u0065\u0078":0x00c2,"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0061\u0063\u0075\u0074\u0065":0x1ea4,"\u0041\u0063\u0069\u0072cu\u006d\u0066\u006c\u0065\u0078\u0064\u006f\u0074\u0062\u0065\u006c\u006f\u0077":0x1eac,"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0067\u0072\u0061\u0076\u0065":0x1ea6,"A\u0063i\u0072\u0063\u0075\u006d\u0066\u006c\u0065\u0078h\u006f\u006f\u006b\u0061bo\u0076\u0065":0x1ea8,"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0073\u006d\u0061\u006c\u006c":0xf7e2,"\u0041\u0063i\u0072\u0063\u0075m\u0066\u006c\u0065\u0078\u0074\u0069\u006c\u0064\u0065":0x1eaa,"\u0041\u0063\u0075t\u0065":0xf6c9,"\u0041\u0063\u0075\u0074\u0065\u0073\u006d\u0061\u006c\u006c":0xf7b4,"\u0041d\u0062\u006c\u0067\u0072\u0061\u0076e":0x0200,"\u0041d\u0069\u0065\u0072\u0065\u0073\u0069s":0x00c4,"\u0041\u0064\u0069\u0065\u0072\u0065\u0073\u0069\u0073\u0063\u0079\u0072i\u006c\u006c\u0069\u0063":0x04d2,"\u0041d\u0069e\u0072\u0065\u0073\u0069\u0073\u006d\u0061\u0063\u0072\u006f\u006e":0x01de,"\u0041\u0064\u0069\u0065\u0072\u0065\u0073\u0069\u0073s\u006d\u0061\u006c\u006c":0xf7e4,"\u0041d\u006f\u0074\u0062\u0065\u006c\u006fw":0x1ea0,"\u0041\u0064\u006f\u0074\u006d\u0061\u0063\u0072\u006f\u006e":0x01e0,"\u0041\u0067\u0072\u0061\u0076\u0065":0x00c0,"A\u0067\u0072\u0061\u007
|
|
|
|
|
func (_cfc *IdentityEncoder )RuneToGlyph (r rune )(GlyphName ,bool ){if r ==' '{return "\u0073\u0070\u0061c\u0065",true ;};_ebc :=GlyphName (_bb .Sprintf ("\u0075n\u0069\u0025\u002e\u0034\u0058",r ));return _ebc ,true ;};func _gffd (_ecgg TextEncoder ,_ccb string )[]byte {_dggb :=[]rune (_ccb );
|
|
|
|
|
_efc :=make ([]byte ,0,len (_dggb )*2);for _ ,_bfe :=range _dggb {_gge ,_bfc :=_ecgg .RuneToCharcode (_bfe );if !_bfc {_eae .Log .Debug ("F\u0061\u0069\u006c\u0065\u0064\u0020\u0074\u006f\u0020\u006d\u0061\u0070\u0020\u0072\u0075\u006e\u0065\u0020t\u006f\u0020\u0063\u0068\u0061\u0072\u0063\u006f\u0064\u0065. \u0072\u0075\u006ee\u003d%\u002b\u0071",_bfe );
|
|
|
|
|
continue ;};var _fdg [2]byte ;_c .BigEndian .PutUint16 (_fdg [:],uint16 (_gge ));_efc =append (_efc ,_fdg [:]...);};return _efc ;};
|