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/
|
|
|
|
|
|
2024-03-27 22:34:33 +00:00
|
|
|
|
package textencoding ;import (_dg "bytes";_ec "encoding/binary";_c "errors";_f "fmt";_dd "github.com/unidoc/unipdf/v3/common";_eb "github.com/unidoc/unipdf/v3/core";_a "github.com/unidoc/unipdf/v3/internal/cmap";_dc "github.com/unidoc/unipdf/v3/internal/strutils";
|
|
|
|
|
_ab "github.com/unidoc/unipdf/v3/internal/textencoding/internal/syncmap";_dgf "golang.org/x/text/encoding";_g "golang.org/x/text/transform";_cb "regexp";_bf "sort";_bb "strconv";_ba "strings";_b "sync";_ea "unicode";_d "unicode/utf8";);var (_eebc =_cafdb (_dceda ,_cfc );
|
|
|
|
|
);func (_ge *differencesEncoding )String ()string {return _f .Sprintf ("\u0064\u0069\u0066\u0066er\u0065\u006e\u0063\u0065\u0073\u0028\u0025\u0073\u002c\u0020\u0025\u0076\u0029",_ge ._aa .String (),_ge ._cd );};func (_egeb *IdentityEncoder )String ()string {return _egeb ._feg };
|
|
|
|
|
func _cafdb (_agfc string ,_gdef *_ab .ByteRuneMap )*simpleMapping {return &simpleMapping {_bedd :_agfc ,_afgg :_gdef };};func (_fae *differencesEncoding )RuneToCharcode (r rune )(CharCode ,bool ){if _begd ,_fcee :=_fae ._fbe .Read (r );_fcee {return CharCode (_begd ),true ;
|
|
|
|
|
};return _fae ._aa .RuneToCharcode (r );};func NewSymbolEncoder ()SimpleEncoder {return _bcab .NewEncoder ()};func (_cega *simpleEncoder )Transform (dst ,src []byte ,atEOF bool )(_bda ,_baaa int ,_ error ){for len (src )!=0{if !_d .FullRune (src )&&!atEOF {return _bda ,_baaa ,_g .ErrShortSrc ;
|
|
|
|
|
}else if len (dst )==0{return _bda ,_baaa ,_g .ErrShortDst ;};_aaf ,_fabe :=_d .DecodeRune (src );if _aaf ==_d .RuneError {_aaf =MissingCodeRune ;};src =src [_fabe :];_baaa +=_fabe ;_gac ,_edgc :=_cega ._ggc .Read (_aaf );if !_edgc {_gac ,_ =_cega ._ggc .Read (MissingCodeRune );
|
|
|
|
|
};dst [0]=_gac ;dst =dst [1:];_bda ++;};return _bda ,_baaa ,nil ;};func (_cef *differencesEncoding )Encode (str string )[]byte {_bed :=[]rune (str );_edf :=_dg .NewBuffer (nil );_edf .Grow (len (_bed ));for _ ,_gab :=range _bed {_ebc ,_ :=_cef .RuneToCharcode (_gab );
|
|
|
|
|
_edf .WriteByte (byte (_ebc ));};return _edf .Bytes ();};func (_egg *TrueTypeFontEncoder )String ()string {_dbg :=[]string {_f .Sprintf ("\u0025\u0064\u0020\u0065\u006e\u0074\u0072\u0069\u0065\u0073",_egg ._eedf .Length ())};type runeGID struct{_baac rune ;
|
|
|
|
|
_dbeea GID ;};_cffa :=make ([]runeGID ,0,_egg ._eedf .Length ());_egg ._eedf .Range (func (_bbf rune ,_ecc uint16 )(_cefc bool ){_cffa =append (_cffa ,runeGID {_baac :_bbf ,_dbeea :GID (_ecc )});return false ;});_bf .Slice (_cffa ,func (_dcg ,_fbcd int )bool {return _cffa [_dcg ]._baac < _cffa [_fbcd ]._baac });
|
|
|
|
|
_ccc :=len (_cffa );if _ccc > _egd {_ccc =_egd ;};for _acb :=0;_acb < _ccc ;_acb ++{_bdfc :=_cffa [_acb ];_dbg =append (_dbg ,_f .Sprintf ("\u0025\u0064\u003d\u0030\u0078\u0025\u0030\u0032\u0078\u003a\u0020\u0025\u0071",_bdfc ._baac ,_bdfc ._baac ,_bdfc ._dbeea ));
|
|
|
|
|
};return _f .Sprintf ("T\u0052U\u0045\u0054\u0059\u0050\u0045\u005f\u0045\u004eC\u004f\u0044\u0045\u0052{%\u0073\u007d",_ba .Join (_dbg ,"\u002c\u0020"));};func (_dcfb *simpleEncodersMap )Read (s string )(func ()SimpleEncoder ,bool ){_dcfb ._cfg .RLock ();
|
|
|
|
|
defer _dcfb ._cfg .RUnlock ();_bbgd ,_efa :=_dcfb ._ceb [s ];return _bbgd ,_efa ;};type simpleEncoding struct{_dbeg string ;_ecea *_ab .RuneByteMap ;_fabc *_ab .ByteRuneMap ;_gcfd *_ab .RuneSet ;};type GlyphName string ;func _bfd (_ddeb TextEncoder ,_bff string )[]byte {_efg :=make ([]byte ,0,len (_bff ));
|
|
|
|
|
for _ ,_bged :=range _bff {_afb ,_afd :=_ddeb .RuneToCharcode (_bged );if !_afd ||_afb > 0xff{_dd .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",_bged );
|
|
|
|
|
continue ;};_efg =append (_efg ,byte (_afb ));};return _efg ;};func NewCustomSimpleTextEncoder (encoding ,differences map[CharCode ]GlyphName )(SimpleEncoder ,error ){if len (encoding )==0{return nil ,_c .New ("e\u006d\u0070\u0074\u0079 c\u0075s\u0074\u006f\u006d\u0020\u0065n\u0063\u006f\u0064\u0069\u006e\u0067");
|
|
|
|
|
};const _gcga ="\u0063\u0075\u0073\u0074\u006f\u006d";_dace :=_ab .MakeByteRuneMap (len (encoding ));for _baa ,_bdcc :=range encoding {_def ,_afg :=GlyphToRune (_bdcc );if !_afg {_dd .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a\u0020\u0055\u006e\u006b\u006e\u006f\u0077n\u0020\u0067\u006c\u0079\u0070\u0068\u002e\u0020\u0025\u0071",_bdcc );
|
|
|
|
|
continue ;};_dace .Write (byte (_baa ),_def );};_aaef :=_gdff (_gcga ,_dace );if len (differences )!=0{_aaef =ApplyDifferences (_aaef ,differences );};return _aaef ,nil ;};var (_gfe =_cafdb (_ebgf ,_ccf );_cabe =_cafdb (_dee ,_bfab ););func (_egad *simpleEncodersMap )Write (s string ,f func ()SimpleEncoder ){_egad ._cfg .Lock ();
|
|
|
|
|
defer _egad ._cfg .Unlock ();_egad ._ceb [s ]=f ;};func (_gadg *simpleEncoding )Charcodes ()[]CharCode {_bcdg :=make ([]CharCode ,0,_gadg ._fabc .Length ());_gadg ._fabc .Range (func (_cgf byte ,_ rune )(_ggbbc bool ){_bcdg =append (_bcdg ,CharCode (_cgf ));
|
|
|
|
|
return false });_bf .Slice (_bcdg ,func (_fgaa ,_gf int )bool {return _bcdg [_fgaa ]< _bcdg [_gf ]});return _bcdg ;};func _cafd (_dac TextEncoder ,_edg []byte )string {_aggc :=make ([]rune ,0,len (_edg )/2+len (_edg )%2);for len (_edg )> 0{if len (_edg )==1{_edg =[]byte {_edg [0],0};
|
|
|
|
|
};_bbc :=CharCode (_ec .BigEndian .Uint16 (_edg [:]));_edg =_edg [2:];_aefd ,_dad :=_dac .CharcodeToRune (_bbc );if !_dad {_dd .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",_bbc );
|
|
|
|
|
continue ;};_aggc =append (_aggc ,_aefd );};return string (_aggc );};func (_ffb CMapEncoder )Encode (str string )[]byte {if _ffb ._bg ==nil {return []byte {};};if _ffb ._bg .NBits ()==8{return _bfd (_ffb ,str );};return _afbd (_ffb ,str );};type simpleMapping struct{_bedd string ;
|
|
|
|
|
_cac _b .Once ;_afgg *_ab .ByteRuneMap ;_beac *_ab .RuneByteMap ;};func (_gba *IdentityEncoder )RuneToCharcode (r rune )(CharCode ,bool ){_gba ._ebbe .Write (r );return CharCode (r ),true ;};type IdentityEncoder struct{_feg string ;_ebbe *_ab .RuneSet ;
|
|
|
|
|
};func (_ff *charCodeGlyphNameMap )RangeDelete (f func (_da CharCode ,_ae GlyphName )(_cbb bool ,_adb bool )){_ff ._be .Lock ();defer _ff ._be .Unlock ();for _dgg ,_fd :=range _ff ._egf {_fcf ,_ee :=f (_dgg ,_fd );if _fcf {delete (_ff ._egf ,_dgg );};if _ee {break ;
|
|
|
|
|
};};};func (_fe CMapEncoder )charcodeToString (_ceg CharCode )(string ,bool ){if _fe ._bg ==nil {return MissingCodeString ,false ;};_cfe :=_a .CharCode (_ceg );if _fe ._ggac !=nil {var _gdc bool ;if _cfe ,_gdc =_fe ._ggac .CharcodeToCID (_a .CharCode (_ceg ));
|
|
|
|
|
!_gdc {return MissingCodeString ,false ;};};return _fe ._bg .CharcodeToUnicode (_cfe );};func (_cgfd *simpleEncoding )CharcodeToRune (code CharCode )(rune ,bool ){if code > 0xff{return MissingCodeRune ,false ;};_bfbb :=byte (code );_acd ,_cgce :=_cgfd ._fabc .Read (_bfbb );
|
|
|
|
|
if _cgfd ._gcfd ==nil {_cgfd ._gcfd =_ab .MakeRuneSet (1);};_cgfd ._gcfd .Write (_acd );return _acd ,_cgce ;};func _ccdc (_ggd rune )string {_dead :="u\u006e\u0070\u0072\u0069\u006e\u0074\u0061\u0062\u006c\u0065";if _ea .IsPrint (_ggd ){_dead =_f .Sprintf ("\u0025\u0023\u0071",_ggd );
|
|
|
|
|
};return _f .Sprintf ("\u0025\u002b\u0071\u0020\u0028\u0025\u0073\u0029",_ggd ,_dead );};const (_cadb ="\u004d\u0061\u0063\u0045\u0078\u0070\u0065\u0072\u0074\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";_bafe ="\u004d\u0061c\u0052\u006f\u006da\u006e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";
|
|
|
|
|
);func ApplyDifferences (base SimpleEncoder ,differences map[CharCode ]GlyphName )SimpleEncoder {if len (differences )==0{return base ;};_eeg :=make ([]charCodeGlyphNameTuple ,len (differences ));var _beb int ;for _gcf ,_dafe :=range differences {_eeg [_beb ]=charCodeGlyphNameTuple {CharCode :_gcf ,GlyphName :_dafe };
|
|
|
|
|
_beb ++;};_aea :=&differencesEncoding {_aa :base ,_cd :_gg (_eeg ...),_faf :_ab .MakeByteRuneMap (len (differences )),_fbe :_ab .MakeRuneByteMap (len (differences ))};if _fef ,_fbc :=base .(*differencesEncoding );_fbc {_bge :=make (map[CharCode ]GlyphName );
|
|
|
|
|
_fef ._cd .Range (func (_fee CharCode ,_cad GlyphName )(_ebe bool ){_bge [_fee ]=_cad ;return false });_aea ._cd .Range (func (_aef CharCode ,_bbga GlyphName )(_cbbg bool ){_bge [_aef ]=_bbga ;return false });differences =_bge ;};for _agd ,_dbda :=range differences {_caf :=byte (_agd );
|
|
|
|
|
_bgb ,_ffee :=GlyphToRune (_dbda );if _ffee {_aea ._fbe .Write (_bgb ,_caf );}else {_dd .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",_dbda ,differences );
|
|
|
|
|
};_aea ._faf .Write (_caf ,_bgb );};return _aea ;};func (_geb *TrueTypeFontEncoder )SubsetRegistered (){_dd .Log .Info ("\u0054\u0054\u0046\u0020Su\u0062\u0073\u0065\u0074\u003a\u0020\u0050\u0072\u0075\u006e\u0069\u006e\u0067");_geb ._eedf .RangeDelete (func (_fcbg rune ,_ uint16 )(_defc bool ,_ecg bool ){return !_geb ._dag .Exists (_fcbg ),_ecg });
|
|
|
|
|
};func (_cgdf *TrueTypeFontEncoder )GlyphToCharcode (glyph GlyphName )(CharCode ,bool ){if len (glyph )==7&&glyph [0:3]=="\u0075\u006e\u0069"{var _bga uint16 ;_beab ,_fbb :=_f .Sscanf (string (glyph ),"\u0075\u006e\u0069%\u0058",&_bga );if _beab ==1&&_fbb ==nil {return _cgdf .RuneToCharcode (rune (_bga ));
|
|
|
|
|
};};if _bgcg ,_bgd :=_cdbc .Read (string (glyph ));_bgd {return _cgdf .RuneToCharcode (_bgcg );};_dd .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 ExpandLigatures (runes []rune )string {var _dfd _dg .Buffer ;for _ ,_fefe :=range runes {_bbdg :=RuneToString (_fefe );_dfd .WriteString (_bbdg );};return _dfd .String ();};func (_afbe *simpleEncoding )NewDecoder ()*_dgf .Decoder {return &_dgf .Decoder {Transformer :simpleDecoder {_baf :_afbe ._fabc }};
|
|
|
|
|
};func _fea (_fad *charCodeGlyphNameMap )*_eb .PdfObjectArray {if _fad .Length ()==0{return nil ;};_ca :=make ([]CharCode ,0,_fad .Length ());_fad .Range (func (_ffe CharCode ,_ GlyphName )(_agg bool ){_ca =append (_ca ,_ffe );return false });_bf .Slice (_ca ,func (_daf ,_ddg int )bool {return _ca [_daf ]< _ca [_ddg ]});
|
|
|
|
|
_ggb :=_ca [0];_cegg ,_ :=_fad .Read (_ggb );_ggbb :=[]_eb .PdfObject {_eb .MakeInteger (int64 (_ggb )),_eb .MakeName (string (_cegg ))};for _ ,_dbd :=range _ca [1:]{if _dbd ==_ggb +1{_cegg ,_ =_fad .Read (_dbd );_ggbb =append (_ggbb ,_eb .MakeName (string (_cegg )));
|
|
|
|
|
}else {_ggbb =append (_ggbb ,_eb .MakeInteger (int64 (_dbd )));};_ggb =_dbd ;};return _eb .MakeArray (_ggbb ...);};func _gg (_eca ...charCodeGlyphNameTuple )*charCodeGlyphNameMap {_eg :=map[CharCode ]GlyphName {};for _ ,_ad :=range _eca {_eg [_ad .CharCode ]=_ad .GlyphName ;
|
|
|
|
|
};return &charCodeGlyphNameMap {_egf :_eg };};func NewIdentityTextEncoder (baseName string )*IdentityEncoder {return &IdentityEncoder {_feg :baseName ,_ebbe :_ab .MakeRuneSet (0)};};type SimpleEncoder interface{TextEncoder ;BaseName ()string ;Charcodes ()[]CharCode ;
|
|
|
|
|
};const (_abe ="\u0053\u0079\u006d\u0062\u006f\u006c\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";_fabed ="Z\u0061p\u0066\u0044\u0069\u006e\u0067\u0062\u0061\u0074s\u0045\u006e\u0063\u006fdi\u006e\u0067";);type simpleEncodersMap struct{_ceb map[string ]func ()SimpleEncoder ;
|
|
|
|
|
_cfg _b .RWMutex ;};var (_bcab =_cafdb (_abe ,_fdec );_gee =_cafdb (_fabed ,_fec ););func (_bcfg UTF16Encoder )ToPdfObject ()_eb .PdfObject {if _bcfg ._aad !=""{return _eb .MakeName (_bcfg ._aad );};return _eb .MakeNull ();};func (_bab CMapEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_cc ,_cba :=_bab .charcodeToString (code );
|
|
|
|
|
if len (_cc )< 1{return MissingCodeRune ,false ;};return ([]rune (_cc ))[0],_cba ;};func (_fdd simpleDecoder )Transform (dst ,src []byte ,_ bool )(_aacb ,_aegf int ,_ error ){for len (src )!=0{_gad :=src [0];src =src [1:];_begg ,_aaa :=_fdd ._baf .Read (_gad );
|
|
|
|
|
if !_aaa {_begg =MissingCodeRune ;};if _d .RuneLen (_begg )> len (dst ){return _aacb ,_aegf ,_g .ErrShortDst ;};_agb :=_d .EncodeRune (dst ,_begg );dst =dst [_agb :];_aegf ++;_aacb +=_agb ;};return _aacb ,_aegf ,nil ;};func (_ffd *IdentityEncoder )Encode (str string )[]byte {return _afbd (_ffd ,str )};
|
|
|
|
|
func NewZapfDingbatsEncoder ()SimpleEncoder {return _gee .NewEncoder ()};func (_ecf *simpleEncoder )Reset (){};type simpleDecoder struct{_baf *_ab .ByteRuneMap };func (_fce *charCodeGlyphNameMap )Delete (key CharCode ){_fce ._be .Lock ();defer _fce ._be .Unlock ();
|
|
|
|
|
delete (_fce ._egf ,key );};func (_aac *simpleEncoding )Encode (str string )[]byte {_dcef ,_ :=_aac .NewEncoder ().Bytes ([]byte (str ));return _dcef ;};var _ccf =_ab .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:'ÿ'});
|
|
|
|
|
var _bfab =_ab .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 (_eacf UTF16Encoder )RuneToCharcode (r rune )(CharCode ,bool ){return CharCode (r ),true };var _fec =_ab .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 (_dadf *simpleEncoding )ToPdfObject ()_eb .PdfObject {return _eb .MakeName (_dadf ._dbeg )};func (_fcb CMapEncoder )RuneToCharcode (r rune )(CharCode ,bool ){if _fcb ._bg ==nil {return 0,false ;};_cg ,_fa :=_fcb ._bg .StringToCID (string (r ));if !_fa {return 0,false ;
|
|
|
|
|
};if _fcb ._ggac !=nil {_ag ,_bbd :=_fcb ._ggac .CIDToCharcode (_cg );if !_bbd {return 0,false ;};return CharCode (_ag ),true ;};return CharCode (_cg ),true ;};func NewStandardEncoder ()SimpleEncoder {return _cabe .NewEncoder ()};func (_aeg *IdentityEncoder )Decode (raw []byte )string {return _cafd (_aeg ,raw )};
|
|
|
|
|
var _bgefd =[...]_ab .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"
|
|
|
|
|
func (_eec *TrueTypeFontEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_cbc :=rune (-1);_eec ._eedf .Range (func (_eag rune ,_bag uint16 )(_accc bool ){_dbf :=CharCode (_bag );if _dbf ==code {_cbc =_eag ;return true ;};return false ;});if _cbc !=-1{return _cbc ,true ;
|
|
|
|
|
};_dd .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 ,_eec );return 0,false ;
|
|
|
|
|
};func _gdff (_fde string ,_adfe *_ab .ByteRuneMap )SimpleEncoder {_aagf :=&simpleEncoding {_dbeg :_fde ,_fabc :_adfe ,_ecea :_ab .MakeRuneByteMap (_adfe .Length ())};_aagf ._fabc .Range (func (_dgc byte ,_dedf rune )(_fga bool ){if _gdd ,_edgb :=_aagf ._ecea .Read (_dedf );
|
|
|
|
|
!_edgb ||_dgc < _gdd {_aagf ._ecea .Write (_dedf ,_dgc );};return false ;});return _aagf ;};func NewMacRomanEncoder ()SimpleEncoder {return _dgcb .NewEncoder ()};var _cfc =_ab .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 RuneToGlyph (r rune )(GlyphName ,bool ){_cgd ,_eff :=_dggg .Read (r );if !_eff &&r > 0{_cgd =_f .Sprintf ("\u0075n\u0069\u0025\u0030\u0034\u0078",r );_eff =true ;};return GlyphName (_cgd ),_eff ;};func (_fab *IdentityEncoder )RuneToGlyph (r rune )(GlyphName ,bool ){if r ==' '{return "\u0073\u0070\u0061c\u0065",true ;
|
|
|
|
|
};_cdf :=GlyphName (_f .Sprintf ("\u0075n\u0069\u0025\u002e\u0034\u0058",r ));return _cdf ,true ;};func NewMacExpertEncoder ()SimpleEncoder {return _afgf .NewEncoder ()};func (_gdad *simpleEncoding )Decode (raw []byte )string {_cabc ,_ :=_gdad .NewDecoder ().Bytes (raw );
|
|
|
|
|
return string (_cabc );};func (_dcf *charCodeGlyphNameMap )Read (key CharCode )(GlyphName ,bool ){_dcf ._be .RLock ();defer _dcf ._be .RUnlock ();_bbg ,_cf :=_dcf ._egf [key ];return _bbg ,_cf ;};var _cdbc =_ab .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
|
|
|
|
|
var (_bgef =_cb .MustCompile ("\u005e\u005b\u0041\u002dZa\u002d\u007a\u005d\u0028\u005c\u0064\u007b\u0031\u002c\u0035\u007d\u0029\u0024");_gde =_cb .MustCompile ("\u005e\u0075\u006e\u0069\u0028\u005b\u005c\u0064\u0041\u002d\u0046\u005d{\u0034\u007d\u0029\u0024");
|
|
|
|
|
_gabe =_cb .MustCompile ("\u005e\u0028\u005cw\u002b\u0029\u005c\u002e\u005c\u0077\u002b\u0024"););var _gae =_ab .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 RuneToString (r rune )string {if _deag ,_bef :=_aed .Read (r );_bef {return _deag ;};return string (r );};var _fgf =_ab .NewStringsMap (_bgefd [:]);func GlyphToRune (glyph GlyphName )(rune ,bool ){_ac :=string (glyph );if _ba .Contains (_ac ,"\u002e"){_abcc :=_gabe .FindStringSubmatch (_ac );
|
|
|
|
|
if _abcc !=nil {_ac =_abcc [1];};};if _cdb ,_edd :=_fgf .Read (_ac );_edd {_ac =_cdb ;};if _fgc ,_ege :=_cdbc .Read (_ac );_ege {return _fgc ,true ;};if _cgg ,_bbe :=_efb .Read (_ac );_bbe {return _cgg ,true ;};if _gdcb :=_gde .FindStringSubmatch (_ac );
|
|
|
|
|
_gdcb !=nil {_dbee ,_bffe :=_bb .ParseInt (_gdcb [1],16,32);if _bffe ==nil {return rune (_dbee ),true ;};};if _cegb :=_bgef .FindStringSubmatch (_ac );_cegb !=nil {_cab ,_bebe :=_bb .Atoi (_cegb [1]);if _bebe ==nil {return rune (_cab ),true ;};};return rune (0),false ;
|
|
|
|
|
};func (_egfe UTF16Encoder )CharcodeToRune (code CharCode )(rune ,bool ){return rune (code ),true };type UTF16Encoder struct{_aad string };func (_faeg UTF16Encoder )Encode (str string )[]byte {return []byte (_dc .StringToUTF16 (str ))};var (_afgf =_cafdb (_cadb ,_gae );
|
|
|
|
|
_dgcb =_cafdb (_bafe ,_beaa ););func (_abeb UTF16Encoder )Decode (raw []byte )string {return _dc .UTF16ToString (raw )};var (_gda =&simpleEncodersMap {_ceb :map[string ]func ()SimpleEncoder {}};);func NewWinAnsiEncoder ()SimpleEncoder {return _eebc .NewEncoder ()};
|
|
|
|
|
func NewUTF16TextEncoder (baseName string )UTF16Encoder {return UTF16Encoder {baseName }};var (_ SimpleEncoder =(*simpleEncoding )(nil );_ _dgf .Encoding =(*simpleEncoding )(nil ););func (_gcc UTF16Encoder )String ()string {return _gcc ._aad };const _dceda ="\u0057i\u006eA\u006e\u0073\u0069\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";
|
|
|
|
|
func (_beg CMapEncoder )String ()string {return _beg ._dde };const _egd =10;func (_ffc *simpleMapping )init (){_ffc ._beac =_ab .MakeRuneByteMap (_ffc ._afgg .Length ());_ffc ._afgg .Range (func (_efd byte ,_dbb rune )(_eed bool ){if _ebec ,_dfb :=_ffc ._beac .Read (_dbb );
|
|
|
|
|
!_dfb ||_efd < _ebec {_ffc ._beac .Write (_dbb ,_efd );};return false ;});};func (_gb *charCodeGlyphNameMap )Write (k CharCode ,v GlyphName ){_gb ._be .Lock ();defer _gb ._be .Unlock ();_gb ._egf [k ]=v ;};func (_eeb *charCodeGlyphNameMap )Length ()int {_eeb ._be .RLock ();
|
|
|
|
|
defer _eeb ._be .RUnlock ();return len (_eeb ._egf );};var _dggg =_ab .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:"\u0041\u0068\u006f\u006f\u006b\u0061\u0062\u006f\u0076\u0065",0x
|
|
|
|
|
type TextEncoder interface{String ()string ;Encode (_gaa string )[]byte ;Decode (_gdf []byte )string ;RuneToCharcode (_dfc rune )(CharCode ,bool );CharcodeToRune (_abc CharCode )(rune ,bool );ToPdfObject ()_eb .PdfObject ;};type CharCode uint16 ;type charCodeGlyphNameTuple struct{CharCode CharCode ;
|
|
|
|
|
GlyphName GlyphName ;};func (_eee *TrueTypeFontEncoder )Encode (str string )[]byte {return _afbd (_eee ,str )};func init (){RegisterSimpleEncoding (_cadb ,NewMacExpertEncoder );RegisterSimpleEncoding (_bafe ,NewMacRomanEncoder );};func RegisterSimpleEncoding (name string ,fnc func ()SimpleEncoder ){if _ ,_ggad :=_gda .Read (name );
|
|
|
|
|
_ggad {panic ("\u0061l\u0072e\u0061\u0064\u0079\u0020\u0072e\u0067\u0069s\u0074\u0065\u0072\u0065\u0064");};_gda .Write (name ,fnc );};func (_gcg CMapEncoder )ToPdfObject ()_eb .PdfObject {if _gcg ._dde !=""{return _eb .MakeName (_gcg ._dde );};return _eb .MakeNull ();
|
|
|
|
|
};func _afbd (_agf TextEncoder ,_gea string )[]byte {_afe :=[]rune (_gea );_eac :=make ([]byte ,0,len (_afe )*2);for _ ,_gbc :=range _afe {_fge ,_gaae :=_agf .RuneToCharcode (_gbc );if !_gaae {_dd .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",_gbc );
|
|
|
|
|
continue ;};var _bfa [2]byte ;_ec .BigEndian .PutUint16 (_bfa [:],uint16 (_fge ));_eac =append (_eac ,_bfa [:]...);};return _eac ;};func (_gge CMapEncoder )Decode (raw []byte )string {if _gge ._ggac !=nil {if _ece ,_db :=_gge ._ggac .BytesToCharcodes (raw );
|
|
|
|
|
_db {var _de _dg .Buffer ;for _ ,_fb :=range _ece {_gbd ,_ :=_gge .charcodeToString (CharCode (_fb ));_de .WriteString (_gbd );};return _de .String ();};};return _cafd (_gge ,raw );};type simpleEncoder struct{_ggc *_ab .RuneByteMap };func (_eef *differencesEncoding )Charcodes ()[]CharCode {_bfe :=_eef ._aa .Charcodes ();
|
|
|
|
|
_cdc :=true ;_af :=make (map[CharCode ]struct{},len (_bfe ));for _ ,_ebf :=range _bfe {_af [_ebf ]=struct{}{};};_eef ._faf .Range (func (_fade byte ,_egb rune )(_abd bool ){_bdf :=CharCode (_fade );if _ ,_ebg :=_af [_bdf ];!_ebg {_bfe =append (_bfe ,_bdf );
|
|
|
|
|
_cdc =false ;};return false ;});if !_cdc {_bf .Slice (_bfe ,func (_bgc ,_bc int )bool {return _bfe [_bgc ]< _bfe [_bc ]});};return _bfe ;};func init (){RegisterSimpleEncoding (_abe ,NewSymbolEncoder );RegisterSimpleEncoding (_fabed ,NewZapfDingbatsEncoder );
|
|
|
|
|
};var _aed =_ab .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 FromFontDifferences (diffList *_eb .PdfObjectArray )(map[CharCode ]GlyphName ,error ){_bbb :=make (map[CharCode ]GlyphName );var _cgc CharCode ;for _ ,_ed :=range diffList .Elements (){switch _bbge :=_ed .(type ){case *_eb .PdfObjectInteger :_cgc =CharCode (*_bbge );
|
|
|
|
|
case *_eb .PdfObjectName :_ebb :=string (*_bbge );_bbb [_cgc ]=GlyphName (_ebb );_cgc ++;default:_dd .Log .Debug ("\u0045\u0052\u0052OR\u003a\u0020\u0042\u0061\u0064\u0020\u0074\u0079\u0070\u0065\u002e\u0020\u006f\u0062\u006a\u003d\u0025\u0073",_ed );return nil ,_eb .ErrTypeError ;
|
|
|
|
|
};};return _bbb ,nil ;};type charCodeGlyphNameMap struct{_egf map[CharCode ]GlyphName ;_be _b .RWMutex ;};const (MissingCodeRune ='\ufffd';MissingCodeString =string (MissingCodeRune ););const (_ebgf ="\u0050\u0064\u0066\u0044\u006f\u0063\u0045\u006e\u0063o\u0064\u0069\u006e\u0067";
|
|
|
|
|
_dee ="\u0053\u0074a\u006e\u0064\u0061r\u0064\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067";);func (_cgga simpleDecoder )Reset (){};func init (){RegisterSimpleEncoding (_ebgf ,NewPdfDocEncoder );RegisterSimpleEncoding (_dee ,NewStandardEncoder );};func (_dggc *differencesEncoding )Decode (raw []byte )string {_fdg :=make ([]rune ,0,len (raw ));
|
|
|
|
|
for _ ,_bdc :=range raw {_df ,_ :=_dggc .CharcodeToRune (CharCode (_bdc ));_fdg =append (_fdg ,_df );};return string (_fdg );};func NewPdfDocEncoder ()SimpleEncoder {return _gfe .NewEncoder ()};var _fdec =_ab .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'});
|
|
|
|
|
type GID uint16 ;func (_cag *simpleEncoding )RuneToCharcode (r rune )(CharCode ,bool ){_babc ,_ebebc :=_cag ._ecea .Read (r );if _cag ._gcfd ==nil {_cag ._gcfd =_ab .MakeRuneSet (1);};_cag ._gcfd .Write (r );return CharCode (_babc ),_ebebc ;};func (_afbg *simpleMapping )NewEncoder ()SimpleEncoder {_afbg ._cac .Do (_afbg .init );
|
|
|
|
|
return &simpleEncoding {_dbeg :_afbg ._bedd ,_ecea :_afbg ._beac ,_fabc :_afbg ._afgg };};func init (){RegisterSimpleEncoding (_dceda ,NewWinAnsiEncoder )};func (_beda *TrueTypeFontEncoder )Decode (raw []byte )string {return _cafd (_beda ,raw )};func (_bd *charCodeGlyphNameMap )Range (f func (_fc CharCode ,_gc GlyphName )(_gd bool )){_bd ._be .RLock ();
|
|
|
|
|
defer _bd ._be .RUnlock ();for _adc ,_ce :=range _bd ._egf {if f (_adc ,_ce ){break ;};};};func (_gaee *TrueTypeFontEncoder )ToPdfObject ()_eb .PdfObject {return _eb .MakeNull ()};type CMapEncoder struct{_dde string ;_ggac *_a .CMap ;_bg *_a .CMap ;};type TrueTypeFontEncoder struct{_eedf *_ab .RuneUint16Map ;
|
|
|
|
|
_dag *_ab .RuneSet ;};func (_bcf *differencesEncoding )CharcodeToRune (code CharCode )(rune ,bool ){if code > 0xff{return MissingCodeRune ,false ;};_afa :=byte (code );if _gef ,_faef :=_bcf ._faf .Read (_afa );_faef {return _gef ,true ;};return _bcf ._aa .CharcodeToRune (code );
|
|
|
|
|
};func (_ddf *IdentityEncoder )GlyphToRune (glyph GlyphName )(rune ,bool ){if glyph =="\u0073\u0070\u0061c\u0065"{return ' ',true ;}else if !_ba .HasPrefix (string (glyph ),"\u0075\u006e\u0069")||len (glyph )!=7{return 0,false ;};_bfb ,_ccd :=_bb .ParseUint (string (glyph [3:]),16,16);
|
|
|
|
|
if _ccd !=nil {return 0,false ;};return rune (_bfb ),true ;};type differencesEncoding struct{_aa SimpleEncoder ;_cd *charCodeGlyphNameMap ;_faf *_ab .ByteRuneMap ;_fbe *_ab .RuneByteMap ;};func NewTrueTypeFontEncoder (runeToGIDMap map[rune ]GID )*TrueTypeFontEncoder {_bcde :=_ab .MakeRuneUint16Map (len (runeToGIDMap ));
|
|
|
|
|
for _gebd ,_cga :=range runeToGIDMap {_bcde .Write (_gebd ,uint16 (_cga ));};return &TrueTypeFontEncoder {_eedf :_bcde ,_dag :_ab .MakeRuneSet (0)};};func (_ded *differencesEncoding )BaseName ()string {return _ded ._aa .BaseName ()};func (_ega *differencesEncoding )ToPdfObject ()_eb .PdfObject {_dea :=_eb .MakeDict ();
|
|
|
|
|
_dea .Set ("\u0054\u0079\u0070\u0065",_eb .MakeName ("\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067"));_dea .Set ("\u0042\u0061\u0073e\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067",_ega ._aa .ToPdfObject ());if _cea :=_fea (_ega ._cd );_cea !=nil {_dea .Set ("D\u0069\u0066\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0073",_cea );
|
|
|
|
|
}else {_dd .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 _eb .MakeIndirectObject (_dea );};func (_adf *IdentityEncoder )CharcodeToRune (code CharCode )(rune ,bool ){_adf ._ebbe .Write (rune (code ));return rune (code ),true ;};func NewCMapEncoder (baseName string ,codeToCID ,cidToUnicode *_a .CMap )CMapEncoder {return CMapEncoder {_dde :baseName ,_ggac :codeToCID ,_bg :cidToUnicode };
|
|
|
|
|
};func (_gfa *simpleEncodersMap )Range (f func (_deda string ,_bffa func ()SimpleEncoder )(_cbbe bool )){_gfa ._cfg .RLock ();defer _gfa ._cfg .RUnlock ();for _ced ,_bebc :=range _gfa ._ceb {if f (_ced ,_bebc ){break ;};};};func (_ccb *simpleEncoding )NewEncoder ()*_dgf .Encoder {return &_dgf .Encoder {Transformer :&simpleEncoder {_ggc :_ccb ._ecea }};
|
|
|
|
|
};var _efb =_ab .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 (_feed *IdentityEncoder )RegisteredRunes ()[]rune {_abg :=make ([]rune ,_feed ._ebbe .Length ());_aae :=0;_feed ._ebbe .Range (func (_dce rune )(_aefa bool ){_abg [_aae ]=_dce ;_aae ++;return false });return _abg ;};func (_ggcf *simpleEncoding )String ()string {return "\u0073i\u006dp\u006c\u0065\u0045\u006e\u0063\u006f\u0064\u0069\u006e\u0067\u0028"+_ggcf ._dbeg +"\u0029";
|
|
|
|
|
};func (_ffg *IdentityEncoder )ToPdfObject ()_eb .PdfObject {if _ffg ._feg !=""{return _eb .MakeName (_ffg ._feg );};return _eb .MakeNull ();};func (_fgce *TrueTypeFontEncoder )RuneToCharcode (r rune )(CharCode ,bool ){_gada ,_eaca :=_fgce ._eedf .Read (r );
|
|
|
|
|
if !_eaca {_dd .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 ;};_fgce ._dag .Write (r );
|
|
|
|
|
_cdcd :=CharCode (_gada );return _cdcd ,true ;};var _beaa =_ab .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 (_dba *TrueTypeFontEncoder )RegisteredRunes ()[]rune {_bba :=make ([]rune ,_dba ._dag .Length ());_aafd :=0;_dba ._dag .Range (func (_bde rune )(_fddg bool ){_bba [_aafd ]=_bde ;_aafd ++;return false });return _bba ;};func NewSimpleTextEncoder (baseName string ,differences map[CharCode ]GlyphName )(SimpleEncoder ,error ){_fda ,_adg :=_gda .Read (baseName );
|
|
|
|
|
if !_adg {_dd .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 ,nil ;};_cadc :=_fda ();if len (differences )!=0{_cadc =ApplyDifferences (_cadc ,differences );};return _cadc ,nil ;};func (_bea *simpleEncoding )BaseName ()string {return _bea ._dbeg };
|