unipdf/internal/cmap/cmap.go

12 lines
40 KiB
Go
Raw Normal View History

//
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/
2020-09-14 09:32:45 +00:00
package cmap ;import (_f "bufio";_eg "bytes";_ef "encoding/hex";_af "errors";_c "fmt";_be "github.com/unidoc/unipdf/v3/common";_d "github.com/unidoc/unipdf/v3/core";_ec "github.com/unidoc/unipdf/v3/internal/cmap/bcmaps";_ge "io";_ac "sort";_e "strconv";_b "strings";_g "unicode/utf16";);func _cd (_bb string )(*CMap ,error ){_cb ,_fee :=_ec .Asset (_bb );if _fee !=nil {return nil ,_fee ;};return LoadCmapFromDataCID (_cb );};func _fffc (_ebbaf cmapHexString )rune {_ebff :=_fdc (_ebbaf );if _cagc :=len (_ebff );_cagc ==0{_be .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0068\u0065\u0078\u0054o\u0052\u0075\u006e\u0065\u002e\u0020\u0045\u0078p\u0065c\u0074\u0065\u0064\u0020\u0061\u0074\u0020\u006c\u0065\u0061\u0073\u0074\u0020\u006f\u006e\u0065\u0020\u0072u\u006e\u0065\u0020\u0073\u0068\u0065\u0078\u003d\u0025\u0023\u0076",_ebbaf );return MissingCodeRune ;};if len (_ebff )> 1{_be .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0068\u0065\u0078\u0054\u006f\u0052\u0075\u006e\u0065\u002e\u0020\u0045\u0078p\u0065\u0063\u0074\u0065\u0064\u0020\u0065\u0078\u0061\u0063\u0074\u006c\u0079\u0020\u006f\u006e\u0065\u0020\u0072\u0075\u006e\u0065\u0020\u0073\u0068\u0065\u0078\u003d\u0025\u0023v\u0020\u002d\u003e\u0020\u0025#\u0076",_ebbaf ,_ebff );};return _ebff [0];};func (cmap *CMap )parseCIDRange ()error {for {_caeb ,_eda :=cmap .parseObject ();if _eda !=nil {if _eda ==_ge .EOF {break ;};return _eda ;};_eaa ,_gbf :=_caeb .(cmapHexString );if !_gbf {if _afad ,_cbgf :=_caeb .(cmapOperand );_cbgf {if _afad .Operand ==_fda {return nil ;};return _af .New ("\u0063\u0069\u0064\u0020\u0069\u006e\u0074\u0065\u0072\u0076\u0061\u006c\u0020s\u0074\u0061\u0072\u0074\u0020\u006du\u0073\u0074\u0020\u0062\u0065\u0020\u0061\u0020\u0068\u0065\u0078\u0020\u0073t\u0072\u0069\u006e\u0067");};};_aea :=_egd (_eaa );_caeb ,_eda =cmap .parseObject ();if _eda !=nil {if _eda ==_ge .EOF {break ;};return _eda ;};_ddf ,_gbf :=_caeb .(cmapHexString );if !_gbf {return _af .New ("\u0063\u0069d\u0020\u0069\u006e\u0074e\u0072\u0076a\u006c\u0020\u0065\u006e\u0064\u0020\u006d\u0075s\u0074\u0020\u0062\u0065\u0020\u0061\u0020\u0068\u0065\u0078\u0020\u0073t\u0072\u0069\u006e\u0067");};if len (_eaa ._ggeb )!=len (_ddf ._ggeb ){return _af .New ("\u0075\u006e\u0065\u0071\u0075\u0061\u006c\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020o\u0066 \u0062\u0079\u0074\u0065\u0073\u0020\u0069\u006e\u0020\u0072\u0061\u006e\u0067\u0065");};_baed :=_egd (_ddf );if _aea > _baed {_be .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0043\u0049\u0044\u0020\u0072\u0061\u006e\u0067\u0065\u002e\u0020\u0073t\u0061\u0072\u0074\u003d\u0030\u0078\u0025\u0030\u0032\u0078\u0020\u0065\u006e\u0064=\u0030x\u0025\u0030\u0032\u0078",_aea ,_baed );return ErrBadCMap ;};_caeb ,_eda =cmap .parseObject ();if _eda !=nil {if _eda ==_ge .EOF {break ;};return _eda ;};_daa ,_gbf :=_caeb .(cmapInt );if !_gbf {return _af .New ("\u0063\u0069\u0064\u0020\u0073t\u0061\u0072\u0074\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0061\u006e\u0020\u0064\u0065\u0063\u0069\u006d\u0061\u006c\u0020\u006e\u0075\u006d\u0062\u0065\u0072");};if _daa ._gbff < 0{return _af .New ("\u0069\u006e\u0076al\u0069\u0064\u0020\u0063\u0069\u0064\u0020\u0073\u0074\u0061\u0072\u0074\u0020\u0076\u0061\u006c\u0075\u0065");};_bd :=_daa ._gbff ;for _aefb :=_aea ;_aefb <=_baed ;_aefb ++{cmap ._edg [_aefb ]=CharCode (_bd );_bd ++;};_be .Log .Trace ("C\u0049\u0044\u0020\u0072\u0061\u006eg\u0065\u003a\u0020\u003c\u0030\u0078\u0025\u0058\u003e \u003c\u0030\u0078%\u0058>\u0020\u0025\u0064",_aea ,_baed ,_daa ._gbff );};return nil ;};func LoadCmapFromDataCID (data []byte )(*CMap ,error ){return LoadCmapFromData (data ,false )};type cmapName struct{Name string ;};func (_ddc *cMapParser )parseHexString ()(cmapHexString ,error ){_ddc ._ebb .ReadByte ();_dfb :=[]byte ("\u0030\u0031\u0032\u003345\u0036\u0037\u0038\u0039\u0061\u0062\u0063\u0064\u0065\u0066\u0041\u0042\u0043\u0044E\u0046");_bed :=_eg .Buffer {};for {_ddc .skipSpaces ();_cbba ,_degg :=_ddc