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-07 00:23:12 +00:00
package cmap ;import (_aa "bufio";_a "bytes";_d "encoding/hex";_bcb "errors";_b "fmt";_ae "github.com/unidoc/unipdf/v3/common";_bca "github.com/unidoc/unipdf/v3/core";_fdd "github.com/unidoc/unipdf/v3/internal/cmap/bcmaps";_e "io";_fd "sort";_bc "strconv";_gf "strings";_f "unicode/utf16";);type charRange struct{_ff CharCode ;_be CharCode ;};func _cadc (_fbea ,_eeec int )int {if _fbea < _eeec {return _fbea ;};return _eeec ;};type fbRange struct{_ac CharCode ;_eg CharCode ;_aag string ;};func (_dc *CIDSystemInfo )String ()string {return _b .Sprintf ("\u0025\u0073\u002d\u0025\u0073\u002d\u0025\u0030\u0033\u0064",_dc .Registry ,_dc .Ordering ,_dc .Supplement );};func (cmap *CMap )parseBfrange ()error {for {var _efe CharCode ;_eega ,_cdd :=cmap .parseObject ();if _cdd !=nil {if _cdd ==_e .EOF {break ;};return _cdd ;};switch _dbae :=_eega .(type ){case cmapOperand :if _dbae .Operand ==_dbff {return nil ;};return _bcb .New ("\u0075n\u0065x\u0070\u0065\u0063\u0074\u0065d\u0020\u006fp\u0065\u0072\u0061\u006e\u0064");case cmapHexString :_efe =_bagd (_dbae );default:return _bcb .New ("\u0075n\u0065x\u0070\u0065\u0063\u0074\u0065\u0064\u0020\u0074\u0079\u0070\u0065");};var _aaf CharCode ;_eega ,_cdd =cmap .parseObject ();if _cdd !=nil {if _cdd ==_e .EOF {break ;};return _cdd ;};switch _agge :=_eega .(type ){case cmapOperand :_ae .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a \u0049\u006d\u0063\u006f\u006d\u0070\u006c\u0065\u0074\u0065\u0020\u0062\u0066r\u0061\u006e\u0067\u0065\u0020\u0074\u0072i\u0070\u006c\u0065\u0074");return ErrBadCMap ;case cmapHexString :_aaf =_bagd (_agge );default:_ae .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0055\u006e\u0065\u0078\u0070e\u0063t\u0065d\u0020\u0074\u0079\u0070\u0065\u0020\u0025T",_eega );return ErrBadCMap ;};_eega ,_cdd =cmap .parseObject ();if _cdd !=nil {if _cdd ==_e .EOF {break ;};return _cdd ;};switch _cef :=_eega .(type ){case cmapArray :if len (_cef .Array )!=int (_aaf -_efe )+1{_ae .Log .Debug ("\u0045\u0052\u0052\u004f\u0052\u003a\u0020\u0049\u006e\u0076\u0061\u006c\u0069d\u0020\u006e\u0075\u006d\u0062\u0065r\u0020\u006f\u0066\u0020\u0069\u0074\u0065\u006d\u0073\u0020\u0069\u006e\u0020a\u0072\u0072\u0061\u0079");return ErrBadCMap ;};for _fgcb :=_efe ;_fgcb <=_aaf ;_fgcb ++{_ggb :=_cef .Array [_fgcb -_efe ];_gae ,_egc :=_ggb .(cmapHexString );if !_egc {return _bcb .New ("\u006e\u006f\u006e-h\u0065\u0078\u0020\u0073\u0074\u0072\u0069\u006e\u0067\u0020\u0069\u006e\u0020\u0061\u0072\u0072\u0061\u0079");};_fbb :=_gaefc (_gae );cmap ._ffe [_fgcb ]=string (_fbb );};case cmapHexString :_fffd :=_gaefc (_cef );_aed :=len (_fffd );for _gaef :=_efe ;_gaef <=_aaf ;_gaef ++{cmap ._ffe [_gaef ]=string (_fffd );_fffd [_aed -1]++;};default:_ae .Log .Debug ("\u0045R\u0052\u004f\u0052\u003a \u0055\u006e\u0065\u0078\u0070e\u0063t\u0065d\u0020\u0074\u0079\u0070\u0065\u0020\u0025T",_eega );return ErrBadCMap ;};};return nil ;};func (_eedg *cMapParser )parseDict ()(cmapDict ,error ){_ae .Log .Trace ("\u0052\u0065\u0061\u0064\u0069\u006e\u0067\u0020\u0050\u0044\u0046\u0020D\u0069\u0063\u0074\u0021");_eac :=_ddg ();_adag ,_ :=_eedg ._ffa .ReadByte ();if _adag !='<'{return _eac ,ErrBadCMapDict ;};_adag ,_ =_eedg ._ffa .ReadByte ();if _adag !='<'{return _eac ,ErrBadCMapDict ;};for {_eedg .skipSpaces ();_bag ,_dcgg :=_eedg ._ffa .Peek (2);if _dcgg !=nil {return _eac ,_dcgg ;};if (_bag [0]=='>')&&(_bag [1]=='>'){_eedg ._ffa .ReadByte ();_eedg ._ffa .ReadByte ();break ;};_ddda ,_dcgg :=_eedg .parseName ();_ae .Log .Trace ("\u004be\u0079\u003a\u0020\u0025\u0073",_ddda .Name );if _dcgg !=nil {_ae .Log .Debug ("\u0045\u0052R\u004f\u0052\u003a\u0020\u0052\u0065\u0074\u0075\u0072\u006e\u0069\u006e\u0067\u0020\u006e\u0061\u006d\u0065\u002e\u0020\u0065\u0072r=\u0025\u0076",_dcgg );return _eac ,_dcgg ;};_eedg .skipSpaces ();_gbdf ,_dcgg :=_eedg .parseObject ();if _dcgg !=nil {return _eac ,_dcgg ;};_eac .Dict [_ddda .Name ]=_gbdf ;_eedg .skipSpaces ();_bag ,_dcgg =_eedg ._ffa .Peek (3);if _dcgg !=nil {return _eac ,_dcgg ;};if string (_bag )=="\u0064\u0065\u0066"{_eedg ._ffa .Discard (3);};};return _eac ,nil ;};fun