mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-27 13:48:51 +08:00
612 lines
184 KiB
Go
612 lines
184 KiB
Go
//
|
|
// 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/
|
|
|
|
package segments ;import (_b "encoding/binary";_fd "errors";_ba "fmt";_ac "github.com/unidoc/unipdf/v3/common";_fde "github.com/unidoc/unipdf/v3/internal/bitwise";_fe "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_aa "github.com/unidoc/unipdf/v3/internal/jbig2/bitmap";
|
|
_cb "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/arithmetic";_g "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/huffman";_ge "github.com/unidoc/unipdf/v3/internal/jbig2/decoder/mmr";_ee "github.com/unidoc/unipdf/v3/internal/jbig2/encoder/arithmetic";
|
|
_df "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_ag "github.com/unidoc/unipdf/v3/internal/jbig2/internal";_ad "golang.org/x/xerrors";_f "image";_a "io";_d "math";_c "strings";_bb "time";);func (_bgff *TextRegion )encodeSymbols (_fdfg _fde .BinaryWriter )(_cgfa int ,_gaeb error ){const _eeeg ="\u0065\u006e\u0063\u006f\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c\u0073";
|
|
_baafd :=make ([]byte ,4);_b .BigEndian .PutUint32 (_baafd ,_bgff .NumberOfSymbols );if _cgfa ,_gaeb =_fdfg .Write (_baafd );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"\u004e\u0075\u006dbe\u0072\u004f\u0066\u0053\u0079\u006d\u0062\u006f\u006c\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073");
|
|
};_eceeg ,_gaeb :=_aa .NewClassedPoints (_bgff ._bggc ,_bgff ._cfbfb );if _gaeb !=nil {return 0,_df .Wrap (_gaeb ,_eeeg ,"");};var _bbfac ,_abgb int ;_ecge :=_ee .New ();_ecge .Init ();if _gaeb =_ecge .EncodeInteger (_ee .IADT ,0);_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"\u0069\u006e\u0069\u0074\u0069\u0061\u006c\u0020\u0044\u0054");
|
|
};_accd ,_gaeb :=_eceeg .GroupByY ();if _gaeb !=nil {return 0,_df .Wrap (_gaeb ,_eeeg ,"");};for _ ,_dffcg :=range _accd {_edff :=int (_dffcg .YAtIndex (0));_cffg :=_edff -_bbfac ;if _gaeb =_ecge .EncodeInteger (_ee .IADT ,_cffg );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");
|
|
};var _dgcd int ;for _gbad ,_gfce :=range _dffcg .IntSlice {switch _gbad {case 0:_egag :=int (_dffcg .XAtIndex (_gbad ))-_abgb ;if _gaeb =_ecge .EncodeInteger (_ee .IAFS ,_egag );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_abgb +=_egag ;
|
|
_dgcd =_abgb ;default:_bcff :=int (_dffcg .XAtIndex (_gbad ))-_dgcd ;if _gaeb =_ecge .EncodeInteger (_ee .IADS ,_bcff );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_dgcd +=_bcff ;};_agae ,_ffbd :=_bgff ._bgga .Get (_gfce );if _ffbd !=nil {return _cgfa ,_df .Wrap (_ffbd ,_eeeg ,"");
|
|
};_cgabd ,_cdeb :=_bgff ._bdcda [_agae ];if !_cdeb {_cgabd ,_cdeb =_bgff ._aaceb [_agae ];if !_cdeb {return _cgfa ,_df .Errorf (_eeeg ,"\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027\u0025d\u0027\u0020\u0069s\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064 \u0069\u006e\u0020\u0067\u006cob\u0061\u006c\u0020\u0061\u006e\u0064\u0020\u006c\u006f\u0063\u0061\u006c\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0020\u006d\u0061\u0070",_agae );
|
|
};};if _ffbd =_ecge .EncodeIAID (_bgff ._eeaag ,_cgabd );_ffbd !=nil {return _cgfa ,_df .Wrap (_ffbd ,_eeeg ,"");};};if _gaeb =_ecge .EncodeOOB (_ee .IADS );_gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};};_ecge .Final ();_aaea ,_gaeb :=_ecge .WriteTo (_fdfg );
|
|
if _gaeb !=nil {return _cgfa ,_df .Wrap (_gaeb ,_eeeg ,"");};_cgfa +=int (_aaea );return _cgfa ,nil ;};func (_fggd *SymbolDictionary )retrieveImportSymbols ()error {for _ ,_geef :=range _fggd .Header .RTSegments {if _geef .Type ==0{_egaa ,_afbd :=_geef .GetSegmentData ();
|
|
if _afbd !=nil {return _afbd ;};_bbcc ,_efad :=_egaa .(*SymbolDictionary );if !_efad {return _ba .Errorf ("\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0044\u0061\u0074a\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u003a\u0020%\u0054",_egaa );
|
|
};_cfcd ,_afbd :=_bbcc .GetDictionary ();if _afbd !=nil {return _ba .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064 \u0073\u0065\u0067m\u0065\u006e\u0074 \u0077\u0069t\u0068\u0020\u0069\u006e\u0064\u0065x\u003a %\u0064\u0020\u0067\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0073",_geef .SegmentNumber ,_afbd .Error ());
|
|
};_fggd ._gdf =append (_fggd ._gdf ,_cfcd ...);_fggd ._fdcd +=_bbcc .NumberOfExportedSymbols ;};};return nil ;};type Header struct{SegmentNumber uint32 ;Type Type ;RetainFlag bool ;PageAssociation int ;PageAssociationFieldSize bool ;RTSegments []*Header ;
|
|
HeaderLength int64 ;SegmentDataLength uint64 ;SegmentDataStartOffset uint64 ;Reader _fde .StreamReader ;SegmentData Segmenter ;RTSNumbers []int ;RetainBits []uint8 ;};func (_adbc *SymbolDictionary )String ()string {_ceab :=&_c .Builder {};_ceab .WriteString ("\n\u005b\u0053\u0059\u004dBO\u004c-\u0044\u0049\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u000a");
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009-\u0020S\u0064\u0072\u0054\u0065\u006dp\u006c\u0061t\u0065\u0020\u0025\u0076\u000a",_adbc .SdrTemplate ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0025\u0076\u000a",_adbc .SdTemplate ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006eg\u0043\u006f\u006e\u0074\u0065\u0078\u0074R\u0065\u0074\u0061\u0069\u006e\u0065\u0064\u0020\u0025\u0076\u000a",_adbc ._gebfg ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0069\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074\u0065\u0078\u0074\u0055\u0073\u0065\u0064 \u0025\u0076\u000a",_adbc ._acfg ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_adbc .SdHuffAggInstanceSelection ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053d\u0048\u0075\u0066\u0066\u0042\u004d\u0053\u0069\u007a\u0065S\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020%\u0076\u000a",_adbc .SdHuffBMSizeSelection ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0048u\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068S\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0025\u0076\u000a",_adbc .SdHuffDecodeWidthSelection ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Sd\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064e\u0048e\u0069g\u0068t\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_adbc .SdHuffDecodeHeightSelection ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020U\u0073\u0065\u0052\u0065f\u0069\u006e\u0065\u006d\u0065\u006e\u0074A\u0067\u0067\u0072\u0065\u0067\u0061\u0074\u0069\u006f\u006e\u0020\u0025\u0076\u000a",_adbc .UseRefinementAggregation ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020is\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045\u006e\u0063\u006f\u0064\u0065\u0064\u0020\u0025\u0076\u000a",_adbc .IsHuffmanEncoded ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_adbc .SdATX ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020S\u0064\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_adbc .SdATY ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0058\u0020\u0025\u0076\u000a",_adbc .SdrATX ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0064\u0072\u0041\u0054\u0059\u0020\u0025\u0076\u000a",_adbc .SdrATY ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u004e\u0075\u006d\u0062\u0065\u0072\u004ff\u0045\u0078\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_adbc .NumberOfExportedSymbols ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009-\u0020\u004e\u0075\u006db\u0065\u0072\u004f\u0066\u004ee\u0077S\u0079m\u0062\u006f\u006c\u0073\u0020\u0025\u0076\n",_adbc .NumberOfNewSymbols ));_ceab .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u004ff\u0049\u006d\u0070\u006f\u0072\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0025\u0076\u000a",_adbc ._fdcd ));
|
|
_ceab .WriteString (_ba .Sprintf ("\u0009\u002d \u006e\u0075\u006d\u0062\u0065\u0072\u004f\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0064\u0053\u0079\u006d\u0062\u006f\u006c\u0073 %\u0076\u000a",_adbc ._ddad ));return _ceab .String ();};func (_deeb *GenericRegion )overrideAtTemplate1 (_daf ,_dga ,_gge ,_gdg ,_dfef int )int {_daf &=0x1FF7;
|
|
if _deeb .GBAtY [0]==0&&_deeb .GBAtX [0]>=-int8 (_dfef ){_daf |=(_gdg >>uint (7-(int8 (_dfef )+_deeb .GBAtX [0]))&0x1)<<3;}else {_daf |=int (_deeb .getPixel (_dga +int (_deeb .GBAtX [0]),_gge +int (_deeb .GBAtY [0])))<<3;};return _daf ;};func (_cdf *TextRegion )decodeStripT ()(_afcb int64 ,_caggc error ){if _cdf .IsHuffmanEncoded {if _cdf .SbHuffDT ==3{if _cdf ._ccfc ==nil {var _bdfe int ;
|
|
if _cdf .SbHuffFS ==3{_bdfe ++;};if _cdf .SbHuffDS ==3{_bdfe ++;};_cdf ._ccfc ,_caggc =_cdf .getUserTable (_bdfe );if _caggc !=nil {return 0,_caggc ;};};_afcb ,_caggc =_cdf ._ccfc .Decode (_cdf ._deef );if _caggc !=nil {return 0,_caggc ;};}else {var _cbcab _g .Tabler ;
|
|
_cbcab ,_caggc =_g .GetStandardTable (11+int (_cdf .SbHuffDT ));if _caggc !=nil {return 0,_caggc ;};_afcb ,_caggc =_cbcab .Decode (_cdf ._deef );if _caggc !=nil {return 0,_caggc ;};};}else {var _dgge int32 ;_dgge ,_caggc =_cdf ._adffd .DecodeInt (_cdf ._eaed );
|
|
if _caggc !=nil {return 0,_caggc ;};_afcb =int64 (_dgge );};_afcb *=int64 (-_cdf .SbStrips );return _afcb ,nil ;};func (_aaef *SymbolDictionary )readNumberOfExportedSymbols ()error {_ggeb ,_deff :=_aaef ._gcca .ReadBits (32);if _deff !=nil {return _deff ;
|
|
};_aaef .NumberOfExportedSymbols =uint32 (_ggeb &_d .MaxUint32 );return nil ;};func (_egba *SymbolDictionary )huffDecodeRefAggNInst ()(int64 ,error ){if !_egba .SdHuffAggInstanceSelection {_agadc ,_fgfbb :=_g .GetStandardTable (1);if _fgfbb !=nil {return 0,_fgfbb ;
|
|
};return _agadc .Decode (_egba ._gcca );};if _egba ._gcbf ==nil {var (_cabe int ;_addg error ;);if _egba .SdHuffDecodeHeightSelection ==3{_cabe ++;};if _egba .SdHuffDecodeWidthSelection ==3{_cabe ++;};if _egba .SdHuffBMSizeSelection ==3{_cabe ++;};_egba ._gcbf ,_addg =_egba .getUserTable (_cabe );
|
|
if _addg !=nil {return 0,_addg ;};};return _egba ._gcbf .Decode (_egba ._gcca );};func (_ecg *GenericRegion )GetRegionBitmap ()(_bef *_aa .Bitmap ,_eec error ){if _ecg .Bitmap !=nil {return _ecg .Bitmap ,nil ;};if _ecg .IsMMREncoded {if _ecg ._abdc ==nil {_ecg ._abdc ,_eec =_ge .New (_ecg ._gbg ,int (_ecg .RegionSegment .BitmapWidth ),int (_ecg .RegionSegment .BitmapHeight ),_ecg .DataOffset ,_ecg .DataLength );
|
|
if _eec !=nil {return nil ,_eec ;};};_ecg .Bitmap ,_eec =_ecg ._abdc .UncompressMMR ();return _ecg .Bitmap ,_eec ;};if _eec =_ecg .updateOverrideFlags ();_eec !=nil {return nil ,_eec ;};var _adab int ;if _ecg ._cbe ==nil {_ecg ._cbe ,_eec =_cb .New (_ecg ._gbg );
|
|
if _eec !=nil {return nil ,_eec ;};};if _ecg ._gbdc ==nil {_ecg ._gbdc =_cb .NewStats (65536,1);};_ecg .Bitmap =_aa .New (int (_ecg .RegionSegment .BitmapWidth ),int (_ecg .RegionSegment .BitmapHeight ));_cbbe :=int (uint32 (_ecg .Bitmap .Width +7)&(^uint32 (7)));
|
|
for _bbfc :=0;_bbfc < _ecg .Bitmap .Height ;_bbfc ++{if _ecg .IsTPGDon {var _fed int ;_fed ,_eec =_ecg .decodeSLTP ();if _eec !=nil {return nil ,_eec ;};_adab ^=_fed ;};if _adab ==1{if _bbfc > 0{if _eec =_ecg .copyLineAbove (_bbfc );_eec !=nil {return nil ,_eec ;
|
|
};};}else {if _eec =_ecg .decodeLine (_bbfc ,_ecg .Bitmap .Width ,_cbbe );_eec !=nil {return nil ,_eec ;};};};return _ecg .Bitmap ,nil ;};func (_agb *GenericRegion )Size ()int {return _agb .RegionSegment .Size ()+1+2*len (_agb .GBAtX )};func (_aeee *GenericRegion )writeGBAtPixels (_bge _fde .BinaryWriter )(_dfac int ,_bgg error ){const _becc ="\u0077r\u0069t\u0065\u0047\u0042\u0041\u0074\u0050\u0069\u0078\u0065\u006c\u0073";
|
|
if _aeee .UseMMR {return 0,nil ;};_adff :=1;if _aeee .GBTemplate ==0{_adff =4;}else if _aeee .UseExtTemplates {_adff =12;};if len (_aeee .GBAtX )!=_adff {return 0,_df .Errorf (_becc ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0058\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");
|
|
};if len (_aeee .GBAtY )!=_adff {return 0,_df .Errorf (_becc ,"\u0067\u0062\u0020\u0061\u0074\u0020\u0070\u0061\u0069\u0072\u0020\u006e\u0075\u006d\u0062\u0065\u0072\u0020d\u006f\u0065\u0073\u006e\u0027\u0074\u0020m\u0061\u0074\u0063\u0068\u0020\u0074\u006f\u0020\u0047\u0042\u0041t\u0059\u0020\u0073\u006c\u0069\u0063\u0065\u0020\u006c\u0065\u006e");
|
|
};for _bcb :=0;_bcb < _adff ;_bcb ++{if _bgg =_bge .WriteByte (byte (_aeee .GBAtX [_bcb ]));_bgg !=nil {return _dfac ,_df .Wrap (_bgg ,_becc ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0058");};_dfac ++;if _bgg =_bge .WriteByte (byte (_aeee .GBAtY [_bcb ]));
|
|
_bgg !=nil {return _dfac ,_df .Wrap (_bgg ,_becc ,"w\u0072\u0069\u0074\u0065\u0020\u0047\u0042\u0041\u0074\u0059");};_dfac ++;};return _dfac ,nil ;};func (_dgad *SymbolDictionary )encodeATFlags (_gfb _fde .BinaryWriter )(_ccea int ,_gccc error ){const _dgbb ="\u0065\u006e\u0063\u006f\u0064\u0065\u0041\u0054\u0046\u006c\u0061\u0067\u0073";
|
|
if _dgad .IsHuffmanEncoded ||_dgad .SdTemplate !=0{return 0,nil ;};_cfgfd :=4;if _dgad .SdTemplate !=0{_cfgfd =1;};for _gfdd :=0;_gfdd < _cfgfd ;_gfdd ++{if _gccc =_gfb .WriteByte (byte (_dgad .SdATX [_gfdd ]));_gccc !=nil {return _ccea ,_df .Wrapf (_gccc ,_dgbb ,"\u0053d\u0041\u0054\u0058\u005b\u0025\u0064]",_gfdd );
|
|
};_ccea ++;if _gccc =_gfb .WriteByte (byte (_dgad .SdATY [_gfdd ]));_gccc !=nil {return _ccea ,_df .Wrapf (_gccc ,_dgbb ,"\u0053d\u0041\u0054\u0059\u005b\u0025\u0064]",_gfdd );};_ccea ++;};return _ccea ,nil ;};func (_fcf *PageInformationSegment )encodeStripingInformation (_ccga _fde .BinaryWriter )(_gdef int ,_ecc error ){const _dgee ="\u0065n\u0063\u006f\u0064\u0065S\u0074\u0072\u0069\u0070\u0069n\u0067I\u006ef\u006f\u0072\u006d\u0061\u0074\u0069\u006fn";
|
|
if !_fcf .IsStripe {if _gdef ,_ecc =_ccga .Write ([]byte {0x00,0x00});_ecc !=nil {return 0,_df .Wrap (_ecc ,_dgee ,"n\u006f\u0020\u0073\u0074\u0072\u0069\u0070\u0069\u006e\u0067");};return _gdef ,nil ;};_ebe :=make ([]byte ,2);_b .BigEndian .PutUint16 (_ebe ,_fcf .MaxStripeSize |1<<15);
|
|
if _gdef ,_ecc =_ccga .Write (_ebe );_ecc !=nil {return 0,_df .Wrapf (_ecc ,_dgee ,"\u0073\u0074\u0072i\u0070\u0069\u006e\u0067\u003a\u0020\u0025\u0064",_fcf .MaxStripeSize );};return _gdef ,nil ;};func (_ecfb *TextRegion )encodeFlags (_ecda _fde .BinaryWriter )(_eccb int ,_ecca error ){const _gead ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";
|
|
if _ecca =_ecda .WriteBit (int (_ecfb .SbrTemplate ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"s\u0062\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .SbDsOffset ),5);_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0073\u0062\u0044\u0073\u004f\u0066\u0066\u0073\u0065\u0074");
|
|
};if _ecca =_ecda .WriteBit (int (_ecfb .DefaultPixel ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0044\u0065\u0066a\u0075\u006c\u0074\u0050\u0069\u0078\u0065\u006c");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .CombinationOperator ),2);
|
|
_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0043\u006f\u006d\u0062in\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065\u0072\u0061\u0074\u006f\u0072");};if _ecca =_ecda .WriteBit (int (_ecfb .IsTransposed ));_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0069\u0073\u0020\u0074\u0072\u0061\u006e\u0073\u0070\u006f\u0073\u0065\u0064");
|
|
};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .ReferenceCorner ),2);_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0072\u0065f\u0065\u0072\u0065n\u0063\u0065\u0020\u0063\u006f\u0072\u006e\u0065\u0072");};if _ ,_ecca =_ecda .WriteBits (uint64 (_ecfb .LogSBStrips ),2);
|
|
_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"L\u006f\u0067\u0053\u0042\u0053\u0074\u0072\u0069\u0070\u0073");};var _bcec int ;if _ecfb .UseRefinement {_bcec =1;};if _ecca =_ecda .WriteBit (_bcec );_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"\u0075\u0073\u0065\u0020\u0072\u0065\u0066\u0069\u006ee\u006d\u0065\u006e\u0074");
|
|
};_bcec =0;if _ecfb .IsHuffmanEncoded {_bcec =1;};if _ecca =_ecda .WriteBit (_bcec );_ecca !=nil {return _eccb ,_df .Wrap (_ecca ,_gead ,"u\u0073\u0065\u0020\u0068\u0075\u0066\u0066\u006d\u0061\u006e");};_eccb =2;return _eccb ,nil ;};func (_abaa *HalftoneRegion )computeGrayScalePlanes (_bfddb []*_aa .Bitmap ,_dfgg int )([][]int ,error ){_eeee :=make ([][]int ,_abaa .HGridHeight );
|
|
for _febb :=0;_febb < len (_eeee );_febb ++{_eeee [_febb ]=make ([]int ,_abaa .HGridWidth );};for _dcgd :=0;_dcgd < int (_abaa .HGridHeight );_dcgd ++{for _afec :=0;_afec < int (_abaa .HGridWidth );_afec +=8{var _gaac int ;if _dbgd :=int (_abaa .HGridWidth )-_afec ;
|
|
_dbgd > 8{_gaac =8;}else {_gaac =_dbgd ;};_gdb :=_bfddb [0].GetByteIndex (_afec ,_dcgd );for _dfca :=0;_dfca < _gaac ;_dfca ++{_ecfd :=_dfca +_afec ;_eeee [_dcgd ][_ecfd ]=0;for _bcbg :=0;_bcbg < _dfgg ;_bcbg ++{_abfa ,_cdgc :=_bfddb [_bcbg ].GetByte (_gdb );
|
|
if _cdgc !=nil {return nil ,_cdgc ;};_efdg :=_abfa >>uint (7-_ecfd &7);_eebc :=_efdg &1;_aeed :=1<<uint (_bcbg );_ddg :=int (_eebc )*_aeed ;_eeee [_dcgd ][_ecfd ]+=_ddg ;};};};};return _eeee ,nil ;};func (_dadf *GenericRegion )setParameters (_bdcd bool ,_ccff ,_aeeg int64 ,_bff ,_efeg uint32 ){_dadf .IsMMREncoded =_bdcd ;
|
|
_dadf .DataOffset =_ccff ;_dadf .DataLength =_aeeg ;_dadf .RegionSegment .BitmapHeight =_bff ;_dadf .RegionSegment .BitmapWidth =_efeg ;_dadf ._abdc =nil ;_dadf .Bitmap =nil ;};func (_eaeb *PageInformationSegment )readResolution ()error {_dadc ,_eeab :=_eaeb ._badgb .ReadBits (32);
|
|
if _eeab !=nil {return _eeab ;};_eaeb .ResolutionX =int (_dadc &_d .MaxInt32 );_dadc ,_eeab =_eaeb ._badgb .ReadBits (32);if _eeab !=nil {return _eeab ;};_eaeb .ResolutionY =int (_dadc &_d .MaxInt32 );return nil ;};func (_dcba *HalftoneRegion )grayScaleDecoding (_gaaf int )([][]int ,error ){var (_ffd []int8 ;
|
|
_cbec []int8 ;);if !_dcba .IsMMREncoded {_ffd =make ([]int8 ,4);_cbec =make ([]int8 ,4);if _dcba .HTemplate <=1{_ffd [0]=3;}else if _dcba .HTemplate >=2{_ffd [0]=2;};_cbec [0]=-1;_ffd [1]=-3;_cbec [1]=-1;_ffd [2]=2;_cbec [2]=-2;_ffd [3]=-2;_cbec [3]=-2;
|
|
};_agf :=make ([]*_aa .Bitmap ,_gaaf );_bdfa :=NewGenericRegion (_dcba ._eecb );_bdfa .setParametersMMR (_dcba .IsMMREncoded ,_dcba .DataOffset ,_dcba .DataLength ,_dcba .HGridHeight ,_dcba .HGridWidth ,_dcba .HTemplate ,false ,_dcba .HSkipEnabled ,_ffd ,_cbec );
|
|
_ccc :=_gaaf -1;var _ffde error ;_agf [_ccc ],_ffde =_bdfa .GetRegionBitmap ();if _ffde !=nil {return nil ,_ffde ;};for _ccc > 0{_ccc --;_bdfa .Bitmap =nil ;_agf [_ccc ],_ffde =_bdfa .GetRegionBitmap ();if _ffde !=nil {return nil ,_ffde ;};if _ffde =_dcba .combineGrayscalePlanes (_agf ,_ccc );
|
|
_ffde !=nil {return nil ,_ffde ;};};return _dcba .computeGrayScalePlanes (_agf ,_gaaf );};func (_bcgf *PageInformationSegment )readCombinationOperator ()error {_gffg ,_agbcc :=_bcgf ._badgb .ReadBits (2);if _agbcc !=nil {return _agbcc ;};_bcgf ._gadg =_aa .CombinationOperator (int (_gffg ));
|
|
return nil ;};func (_defb *TextRegion )decodeCurrentT ()(int64 ,error ){if _defb .SbStrips !=1{if _defb .IsHuffmanEncoded {_aafae ,_bgecc :=_defb ._deef .ReadBits (byte (_defb .LogSBStrips ));return int64 (_aafae ),_bgecc ;};_cdbg ,_adcfc :=_defb ._adffd .DecodeInt (_defb ._effgga );
|
|
if _adcfc !=nil {return 0,_adcfc ;};return int64 (_cdbg ),nil ;};return 0,nil ;};func _eae (_cega _fde .StreamReader ,_gab *Header )*GenericRefinementRegion {return &GenericRefinementRegion {_feb :_cega ,RegionInfo :NewRegionSegment (_cega ),_cf :_gab ,_bag :&template0 {},_fb :&template1 {}};
|
|
};func (_eab *HalftoneRegion )combineGrayscalePlanes (_bdcde []*_aa .Bitmap ,_ebdd int )error {_gbae :=0;for _aef :=0;_aef < _bdcde [_ebdd ].Height ;_aef ++{for _gdad :=0;_gdad < _bdcde [_ebdd ].Width ;_gdad +=8{_bbfg ,_facd :=_bdcde [_ebdd +1].GetByte (_gbae );
|
|
if _facd !=nil {return _facd ;};_dgb ,_facd :=_bdcde [_ebdd ].GetByte (_gbae );if _facd !=nil {return _facd ;};_facd =_bdcde [_ebdd ].SetByte (_gbae ,_aa .CombineBytes (_dgb ,_bbfg ,_aa .CmbOpXor ));if _facd !=nil {return _facd ;};_gbae ++;};};return nil ;
|
|
};func (_ecb *GenericRegion )decodeTemplate2 (_fec ,_ccgc ,_ebf int ,_agade ,_fad int )(_cfgf error ){const _acd ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0032";var (_ccf ,_bee int ;_edb ,_afg int ;_befc byte ;_geccb ,_cac int ;
|
|
);if _fec >=1{_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad );if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0031");};_edb =int (_befc );};if _fec >=2{_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad -_ecb .Bitmap .RowStride );
|
|
if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006ci\u006ee\u004e\u0075\u006d\u0062\u0065\u0072\u0020\u003e\u003d\u0020\u0032");};_afg =int (_befc )<<4;};_ccf =(_edb >>3&0x7c)|(_afg >>3&0x380);for _gggc :=0;_gggc < _ebf ;_gggc =_geccb {var (_dgc byte ;
|
|
_cbcf int ;);_geccb =_gggc +8;if _bfeg :=_ccgc -_gggc ;_bfeg > 8{_cbcf =8;}else {_cbcf =_bfeg ;};if _fec > 0{_edb <<=8;if _geccb < _ccgc {_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad +1);if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0030");
|
|
};_edb |=int (_befc );};};if _fec > 1{_afg <<=8;if _geccb < _ccgc {_befc ,_cfgf =_ecb .Bitmap .GetByte (_fad -_ecb .Bitmap .RowStride +1);if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"\u006c\u0069\u006e\u0065\u004e\u0075\u006d\u0062\u0065r\u0020\u003e\u0020\u0031");
|
|
};_afg |=int (_befc )<<4;};};for _gcafd :=0;_gcafd < _cbcf ;_gcafd ++{_bbb :=uint (10-_gcafd );if _ecb ._dfg {_bee =_ecb .overrideAtTemplate2 (_ccf ,_gggc +_gcafd ,_fec ,int (_dgc ),_gcafd );_ecb ._gbdc .SetIndex (int32 (_bee ));}else {_ecb ._gbdc .SetIndex (int32 (_ccf ));
|
|
};_cac ,_cfgf =_ecb ._cbe .DecodeBit (_ecb ._gbdc );if _cfgf !=nil {return _df .Wrap (_cfgf ,_acd ,"");};_dgc |=byte (_cac <<uint (7-_gcafd ));_ccf =((_ccf &0x1bd)<<1)|_cac |((_edb >>_bbb )&0x4)|((_afg >>_bbb )&0x80);};if _ddac :=_ecb .Bitmap .SetByte (_agade ,_dgc );
|
|
_ddac !=nil {return _df .Wrap (_ddac ,_acd ,"");};_agade ++;_fad ++;};return nil ;};func (_adfb *PageInformationSegment )readMaxStripeSize ()error {_gbdcc ,_afef :=_adfb ._badgb .ReadBits (15);if _afef !=nil {return _afef ;};_adfb .MaxStripeSize =uint16 (_gbdcc &_d .MaxUint16 );
|
|
return nil ;};type GenericRefinementRegion struct{_bag templater ;_fb templater ;_feb _fde .StreamReader ;_cf *Header ;RegionInfo *RegionSegment ;IsTPGROn bool ;TemplateID int8 ;Template templater ;GrAtX []int8 ;GrAtY []int8 ;RegionBitmap *_aa .Bitmap ;
|
|
ReferenceBitmap *_aa .Bitmap ;ReferenceDX int32 ;ReferenceDY int32 ;_baga *_cb .Decoder ;_aad *_cb .DecoderStats ;_gg bool ;_bab []bool ;};func (_agcg *SymbolDictionary )decodeHeightClassCollectiveBitmap (_egdf int64 ,_aeegg ,_bdca uint32 )(*_aa .Bitmap ,error ){if _egdf ==0{_acab :=_aa .New (int (_bdca ),int (_aeegg ));
|
|
var (_cfdfa byte ;_bbcfc error ;);for _dfbab :=0;_dfbab < len (_acab .Data );_dfbab ++{_cfdfa ,_bbcfc =_agcg ._gcca .ReadByte ();if _bbcfc !=nil {return nil ,_bbcfc ;};if _bbcfc =_acab .SetByte (_dfbab ,_cfdfa );_bbcfc !=nil {return nil ,_bbcfc ;};};return _acab ,nil ;
|
|
};if _agcg ._baeb ==nil {_agcg ._baeb =NewGenericRegion (_agcg ._gcca );};_agcg ._baeb .setParameters (true ,_agcg ._gcca .StreamPosition (),_egdf ,_aeegg ,_bdca );_fcgb ,_bgf :=_agcg ._baeb .GetRegionBitmap ();if _bgf !=nil {return nil ,_bgf ;};return _fcgb ,nil ;
|
|
};func (_fcef *HalftoneRegion )computeX (_fdfb ,_ggfe int )int {return _fcef .shiftAndFill (int (_fcef .HGridX )+_fdfb *int (_fcef .HRegionY )+_ggfe *int (_fcef .HRegionX ));};func (_ggc *GenericRegion )InitEncode (bm *_aa .Bitmap ,xLoc ,yLoc ,template int ,duplicateLineRemoval bool )error {const _effe ="\u0047e\u006e\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069\u006f\u006e.\u0049\u006e\u0069\u0074\u0045\u006e\u0063\u006f\u0064\u0065";
|
|
if bm ==nil {return _df .Error (_effe ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");};if xLoc < 0||yLoc < 0{return _df .Error (_effe ,"\u0078\u0020\u0061\u006e\u0064\u0020\u0079\u0020\u006c\u006f\u0063\u0061\u0074i\u006f\u006e\u0020\u006d\u0075\u0073t\u0020\u0062\u0065\u0020\u0067\u0072\u0065\u0061\u0074\u0065\u0072\u0020\u0074h\u0061\u006e\u0020\u0030");
|
|
};_ggc .Bitmap =bm ;_ggc .GBTemplate =byte (template );switch _ggc .GBTemplate {case 0:_ggc .GBAtX =[]int8 {3,-3,2,-2};_ggc .GBAtY =[]int8 {-1,-1,-2,-2};case 1:_ggc .GBAtX =[]int8 {3};_ggc .GBAtY =[]int8 {-1};case 2,3:_ggc .GBAtX =[]int8 {2};_ggc .GBAtY =[]int8 {-1};
|
|
default:return _df .Errorf (_effe ,"\u0070\u0072o\u0076\u0069\u0064\u0065\u0064 \u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0074\u0020\u0069\u006e\u0020\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0061\u006e\u0067\u0065\u0020\u007b\u0030\u002c\u0031\u002c\u0032\u002c\u0033\u007d",template );
|
|
};_ggc .RegionSegment =&RegionSegment {BitmapHeight :uint32 (bm .Height ),BitmapWidth :uint32 (bm .Width ),XLocation :uint32 (xLoc ),YLocation :uint32 (yLoc )};_ggc .IsTPGDon =duplicateLineRemoval ;return nil ;};func (_dabbf *PageInformationSegment )readIsLossless ()error {_fdgg ,_fagc :=_dabbf ._badgb .ReadBit ();
|
|
if _fagc !=nil {return _fagc ;};if _fdgg ==1{_dabbf .IsLossless =true ;};return nil ;};func (_ddab *PageInformationSegment )readCombinationOperatorOverrideAllowed ()error {_bdb ,_agccb :=_ddab ._badgb .ReadBit ();if _agccb !=nil {return _agccb ;};if _bdb ==1{_ddab ._cfc =true ;
|
|
};return nil ;};func (_gf *GenericRegion )parseHeader ()(_afa error ){_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052I\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0050\u0061\u0072s\u0069\u006e\u0067\u0048\u0065\u0061\u0064e\u0072\u002e\u002e\u002e");
|
|
defer func (){if _afa !=nil {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049\u004f\u004e]\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065r\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0077\u0069th\u0020\u0065\u0072\u0072\u006f\u0072\u002e\u0020\u0025\u0076",_afa );
|
|
}else {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049C\u002d\u0052\u0045G\u0049\u004f\u004e]\u0020\u0050a\u0072\u0073\u0069\u006e\u0067\u0048e\u0061de\u0072\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u0020\u0053\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079\u002e\u002e\u002e");
|
|
};}();var (_bcg int ;_gbff uint64 ;);if _afa =_gf .RegionSegment .parseHeader ();_afa !=nil {return _afa ;};if _ ,_afa =_gf ._gbg .ReadBits (3);_afa !=nil {return _afa ;};_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ;};if _bcg ==1{_gf .UseExtTemplates =true ;
|
|
};_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ;};if _bcg ==1{_gf .IsTPGDon =true ;};_gbff ,_afa =_gf ._gbg .ReadBits (2);if _afa !=nil {return _afa ;};_gf .GBTemplate =byte (_gbff &0xf);_bcg ,_afa =_gf ._gbg .ReadBit ();if _afa !=nil {return _afa ;
|
|
};if _bcg ==1{_gf .IsMMREncoded =true ;};if !_gf .IsMMREncoded {_fee :=1;if _gf .GBTemplate ==0{_fee =4;if _gf .UseExtTemplates {_fee =12;};};if _afa =_gf .readGBAtPixels (_fee );_afa !=nil {return _afa ;};};if _afa =_gf .computeSegmentDataStructure ();
|
|
_afa !=nil {return _afa ;};_ac .Log .Trace ("\u0025\u0073",_gf );return nil ;};func (_bca *GenericRefinementRegion )parseHeader ()(_egc error ){_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072s\u0069\u006e\u0067\u0020\u0048e\u0061\u0064e\u0072\u002e\u002e\u002e");
|
|
_gadf :=_bb .Now ();defer func (){if _egc ==nil {_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045G\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020h\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0069\u006e\u0069\u0073\u0068id\u0020\u0069\u006e\u003a\u0020\u0025\u0064\u0020\u006e\u0073",_bb .Since (_gadf ).Nanoseconds ());
|
|
}else {_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0070\u0061\u0072\u0073\u0069\u006e\u0067\u0020\u0068\u0065\u0061\u0064\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0073",_egc );
|
|
};}();if _egc =_bca .RegionInfo .parseHeader ();_egc !=nil {return _egc ;};_ ,_egc =_bca ._feb .ReadBits (6);if _egc !=nil {return _egc ;};_bca .IsTPGROn ,_egc =_bca ._feb .ReadBool ();if _egc !=nil {return _egc ;};var _gbaf int ;_gbaf ,_egc =_bca ._feb .ReadBit ();
|
|
if _egc !=nil {return _egc ;};_bca .TemplateID =int8 (_gbaf );switch _bca .TemplateID {case 0:_bca .Template =_bca ._bag ;if _egc =_bca .readAtPixels ();_egc !=nil {return ;};case 1:_bca .Template =_bca ._fb ;};return nil ;};var _ SegmentEncoder =&GenericRegion {};
|
|
func (_bcc *Header )pageSize ()uint {if _bcc .PageAssociation <=255{return 1;};return 4;};func (_bfa *GenericRegion )Init (h *Header ,r _fde .StreamReader )error {_bfa .RegionSegment =NewRegionSegment (r );_bfa ._gbg =r ;return _bfa .parseHeader ();};func (_cbfb *SymbolDictionary )encodeFlags (_gade _fde .BinaryWriter )(_aabg int ,_fdee error ){const _dgfc ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";
|
|
if _fdee =_gade .SkipBits (3);_fdee !=nil {return 0,_df .Wrap (_fdee ,_dgfc ,"\u0065\u006d\u0070\u0074\u0079\u0020\u0062\u0069\u0074\u0073");};var _cgac int ;if _cbfb .SdrTemplate > 0{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0072\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");
|
|
};_cgac =0;if _cbfb .SdTemplate > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_cgac =0;if _cbfb .SdTemplate ==1||_cbfb .SdTemplate ==3{_cgac =1;
|
|
};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065");};_cgac =0;if _cbfb ._gebfg {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0063\u006f\u0064in\u0067\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0065\u0064");
|
|
};_cgac =0;if _cbfb ._acfg {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0063\u006f\u0064\u0069ng\u0020\u0063\u006f\u006e\u0074\u0065\u0078\u0074\u0020\u0075\u0073\u0065\u0064");};_cgac =0;if _cbfb .SdHuffAggInstanceSelection {_cgac =1;
|
|
};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048\u0075\u0066\u0066\u0041\u0067\u0067\u0049\u006e\u0073\u0074");};_cgac =int (_cbfb .SdHuffBMSizeSelection );if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0042\u006d\u0053\u0069\u007a\u0065");
|
|
};_cgac =0;if _cbfb .SdHuffDecodeWidthSelection > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_cgac =0;switch _cbfb .SdHuffDecodeWidthSelection {case 1,3:_cgac =1;
|
|
};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"s\u0064\u0048\u0075\u0066\u0066\u0057\u0069\u0064\u0074\u0068");};_cgac =0;if _cbfb .SdHuffDecodeHeightSelection > 1{_cgac =1;};if _fdee =_gade .WriteBit (_cgac );
|
|
_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074");};_cgac =0;switch _cbfb .SdHuffDecodeHeightSelection {case 1,3:_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048u\u0066\u0066\u0048\u0065\u0069\u0067\u0068\u0074");
|
|
};_cgac =0;if _cbfb .UseRefinementAggregation {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0052\u0065\u0066\u0041\u0067\u0067");};_cgac =0;if _cbfb .IsHuffmanEncoded {_cgac =1;};if _fdee =_gade .WriteBit (_cgac );
|
|
_fdee !=nil {return _aabg ,_df .Wrap (_fdee ,_dgfc ,"\u0073\u0064\u0048\u0075\u0066\u0066");};return 2,nil ;};func (_bcgc *Header )subInputReader ()(_fde .StreamReader ,error ){return _fde .NewSubstreamReader (_bcgc .Reader ,_bcgc .SegmentDataStartOffset ,_bcgc .SegmentDataLength );
|
|
};func (_fge *SymbolDictionary )setInSyms ()error {if _fge .Header .RTSegments !=nil {return _fge .retrieveImportSymbols ();};_fge ._gdf =make ([]*_aa .Bitmap ,0);return nil ;};func (_aabb *HalftoneRegion )checkInput ()error {if _aabb .IsMMREncoded {if _aabb .HTemplate !=0{_ac .Log .Debug ("\u0048\u0054\u0065\u006d\u0070l\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030",_aabb .HTemplate );
|
|
};if _aabb .HSkipEnabled {_ac .Log .Debug ("\u0048\u0053\u006b\u0069\u0070\u0045\u006e\u0061\u0062\u006c\u0065\u0064\u0020\u0030\u0020\u0025\u0076\u0020(\u0073\u0068\u006f\u0075\u006c\u0064\u0020c\u006f\u006e\u0074\u0061\u0069\u006e\u0020\u0074\u0068\u0065\u0020v\u0061\u006c\u0075\u0065\u0020\u0066\u0061\u006c\u0073\u0065\u0029",_aabb .HSkipEnabled );
|
|
};};return nil ;};func (_cea *GenericRefinementRegion )decodeTemplate (_bbg ,_cbacf ,_abe ,_eef ,_ffc ,_fca ,_gcd ,_dda ,_fbb ,_bfc int ,_eg templater )(_afb error ){var (_bda ,_ced ,_efa ,_adcc ,_cbad int16 ;_gedd ,_ddc ,_gccd ,_cdd int ;_egf byte ;);
|
|
if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return ;};_gedd =int (_egf );};if _fbb >=0&&(_fbb )< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );
|
|
if _afb !=nil {return ;};_ddc =int (_egf );};if _fbb >=-1&&(_fbb +1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );if _afb !=nil {return ;};_gccd =int (_egf );};_bfc ++;if _bbg >=1{_egf ,_afb =_cea .RegionBitmap .GetByte (_dda -_abe );
|
|
if _afb !=nil {return ;};_cdd =int (_egf );};_dda ++;_cdaa :=_cea .ReferenceDX %8;_da :=6+_cdaa ;_bdf :=_bfc %_eef ;if _da >=0{if _da < 8{_bda =int16 (_gedd >>uint (_da ))&0x07;};if _da < 8{_ced =int16 (_ddc >>uint (_da ))&0x07;};if _da < 8{_efa =int16 (_gccd >>uint (_da ))&0x07;
|
|
};if _da ==6&&_bdf > 1{if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef -2);if _afb !=nil {return _afb ;};_bda |=int16 (_egf <<2)&0x04;};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -2);
|
|
if _afb !=nil {return _afb ;};_ced |=int16 (_egf <<2)&0x04;};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef -2);if _afb !=nil {return _afb ;};_efa |=int16 (_egf <<2)&0x04;};};if _da ==0{_gedd =0;
|
|
_ddc =0;_gccd =0;if _bdf < _eef -1{if _fbb >=1&&_fbb -1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf );};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );
|
|
if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );if _afb !=nil {return _afb ;};_gccd =int (_egf );};};_bfc ++;};}else {_bda =int16 (_gedd <<1)&0x07;
|
|
_ced =int16 (_ddc <<1)&0x07;_efa =int16 (_gccd <<1)&0x07;_gedd =0;_ddc =0;_gccd =0;if _bdf < _eef -1{if _fbb >=1&&_fbb -1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf );
|
|
};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&_fbb +1< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );
|
|
if _afb !=nil {return _afb ;};_gccd =int (_egf );};_bfc ++;};_bda |=int16 ((_gedd >>7)&0x07);_ced |=int16 ((_ddc >>7)&0x07);_efa |=int16 ((_gccd >>7)&0x07);};_adcc =int16 (_cdd >>6);_cbad =0;_ca :=(2-_cdaa )%8;_gedd <<=uint (_ca );_ddc <<=uint (_ca );_gccd <<=uint (_ca );
|
|
_cdd <<=2;var _caf int ;for _ecd :=0;_ecd < _cbacf ;_ecd ++{_deb :=_ecd &0x07;_cec :=_eg .form (_bda ,_ced ,_efa ,_adcc ,_cbad );if _cea ._gg {_egf ,_afb =_cea .RegionBitmap .GetByte (_cea .RegionBitmap .GetByteIndex (_ecd ,_bbg ));if _afb !=nil {return _afb ;
|
|
};_cea ._aad .SetIndex (int32 (_cea .overrideAtTemplate0 (int (_cec ),_ecd ,_bbg ,int (_egf ),_deb )));}else {_cea ._aad .SetIndex (int32 (_cec ));};_caf ,_afb =_cea ._baga .DecodeBit (_cea ._aad );if _afb !=nil {return _afb ;};if _afb =_cea .RegionBitmap .SetPixel (_ecd ,_bbg ,byte (_caf ));
|
|
_afb !=nil {return _afb ;};_bda =((_bda <<1)|0x01&int16 (_gedd >>7))&0x07;_ced =((_ced <<1)|0x01&int16 (_ddc >>7))&0x07;_efa =((_efa <<1)|0x01&int16 (_gccd >>7))&0x07;_adcc =((_adcc <<1)|0x01&int16 (_cdd >>7))&0x07;_cbad =int16 (_caf );if (_ecd -int (_cea .ReferenceDX ))%8==5{_gedd =0;
|
|
_ddc =0;_gccd =0;if ((_ecd -int (_cea .ReferenceDX ))/8)+1< _cea .ReferenceBitmap .RowStride {if _fbb >=1&&(_fbb -1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc -_eef );if _afb !=nil {return _afb ;};_gedd =int (_egf );
|
|
};if _fbb >=0&&_fbb < _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc );if _afb !=nil {return _afb ;};_ddc =int (_egf );};if _fbb >=-1&&(_fbb +1)< _cea .ReferenceBitmap .Height {_egf ,_afb =_cea .ReferenceBitmap .GetByte (_bfc +_eef );
|
|
if _afb !=nil {return _afb ;};_gccd =int (_egf );};};_bfc ++;}else {_gedd <<=1;_ddc <<=1;_gccd <<=1;};if _deb ==5&&_bbg >=1{if ((_ecd >>3)+1)>=_cea .RegionBitmap .RowStride {_cdd =0;}else {_egf ,_afb =_cea .RegionBitmap .GetByte (_dda -_abe );if _afb !=nil {return _afb ;
|
|
};_cdd =int (_egf );};_dda ++;}else {_cdd <<=1;};};return nil ;};func (_egeg *GenericRegion )overrideAtTemplate0b (_bgc ,_cgb ,_aac ,_efd ,_faea ,_fgb int )int {if _egeg .GBAtOverride [0]{_bgc &=0xFFFD;if _egeg .GBAtY [0]==0&&_egeg .GBAtX [0]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [0]&0x1))<<1;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [0]),_aac +int (_egeg .GBAtY [0])))<<1;};};if _egeg .GBAtOverride [1]{_bgc &=0xDFFF;if _egeg .GBAtY [1]==0&&_egeg .GBAtX [1]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [1]&0x1))<<13;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [1]),_aac +int (_egeg .GBAtY [1])))<<13;};};if _egeg .GBAtOverride [2]{_bgc &=0xFDFF;if _egeg .GBAtY [2]==0&&_egeg .GBAtX [2]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [2]&0x1))<<9;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [2]),_aac +int (_egeg .GBAtY [2])))<<9;};};if _egeg .GBAtOverride [3]{_bgc &=0xBFFF;if _egeg .GBAtY [3]==0&&_egeg .GBAtX [3]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [3]&0x1))<<14;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [3]),_aac +int (_egeg .GBAtY [3])))<<14;};};if _egeg .GBAtOverride [4]{_bgc &=0xEFFF;if _egeg .GBAtY [4]==0&&_egeg .GBAtX [4]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [4]&0x1))<<12;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [4]),_aac +int (_egeg .GBAtY [4])))<<12;};};if _egeg .GBAtOverride [5]{_bgc &=0xFFDF;if _egeg .GBAtY [5]==0&&_egeg .GBAtX [5]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [5]&0x1))<<5;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [5]),_aac +int (_egeg .GBAtY [5])))<<5;};};if _egeg .GBAtOverride [6]{_bgc &=0xFFFB;if _egeg .GBAtY [6]==0&&_egeg .GBAtX [6]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [6]&0x1))<<2;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [6]),_aac +int (_egeg .GBAtY [6])))<<2;};};if _egeg .GBAtOverride [7]{_bgc &=0xFFF7;if _egeg .GBAtY [7]==0&&_egeg .GBAtX [7]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [7]&0x1))<<3;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [7]),_aac +int (_egeg .GBAtY [7])))<<3;};};if _egeg .GBAtOverride [8]{_bgc &=0xF7FF;if _egeg .GBAtY [8]==0&&_egeg .GBAtX [8]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [8]&0x1))<<11;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [8]),_aac +int (_egeg .GBAtY [8])))<<11;};};if _egeg .GBAtOverride [9]{_bgc &=0xFFEF;if _egeg .GBAtY [9]==0&&_egeg .GBAtX [9]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [9]&0x1))<<4;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [9]),_aac +int (_egeg .GBAtY [9])))<<4;};};if _egeg .GBAtOverride [10]{_bgc &=0x7FFF;if _egeg .GBAtY [10]==0&&_egeg .GBAtX [10]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [10]&0x1))<<15;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [10]),_aac +int (_egeg .GBAtY [10])))<<15;};};if _egeg .GBAtOverride [11]{_bgc &=0xFDFF;if _egeg .GBAtY [11]==0&&_egeg .GBAtX [11]>=-int8 (_faea ){_bgc |=(_efd >>uint (int8 (_fgb )-_egeg .GBAtX [11]&0x1))<<10;
|
|
}else {_bgc |=int (_egeg .getPixel (_cgb +int (_egeg .GBAtX [11]),_aac +int (_egeg .GBAtY [11])))<<10;};};return _bgc ;};func (_aacea *TextRegion )readRegionFlags ()error {var (_ecec int ;_fgbf uint64 ;_ggfd error ;);_ecec ,_ggfd =_aacea ._deef .ReadBit ();
|
|
if _ggfd !=nil {return _ggfd ;};_aacea .SbrTemplate =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (5);if _ggfd !=nil {return _ggfd ;};_aacea .SbDsOffset =int8 (_fgbf );if _aacea .SbDsOffset > 0x0f{_aacea .SbDsOffset -=0x20;};_ecec ,_ggfd =_aacea ._deef .ReadBit ();
|
|
if _ggfd !=nil {return _ggfd ;};_aacea .DefaultPixel =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ;};_aacea .CombinationOperator =_aa .CombinationOperator (int (_fgbf )&0x3);_ecec ,_ggfd =_aacea ._deef .ReadBit ();
|
|
if _ggfd !=nil {return _ggfd ;};_aacea .IsTransposed =int8 (_ecec );_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ;};_aacea .ReferenceCorner =int16 (_fgbf )&0x3;_fgbf ,_ggfd =_aacea ._deef .ReadBits (2);if _ggfd !=nil {return _ggfd ;
|
|
};_aacea .LogSBStrips =int16 (_fgbf )&0x3;_aacea .SbStrips =1<<uint (_aacea .LogSBStrips );_ecec ,_ggfd =_aacea ._deef .ReadBit ();if _ggfd !=nil {return _ggfd ;};if _ecec ==1{_aacea .UseRefinement =true ;};_ecec ,_ggfd =_aacea ._deef .ReadBit ();if _ggfd !=nil {return _ggfd ;
|
|
};if _ecec ==1{_aacea .IsHuffmanEncoded =true ;};return nil ;};func (_fcab *PageInformationSegment )Encode (w _fde .BinaryWriter )(_eaa int ,_cbba error ){const _dec ="\u0050\u0061g\u0065\u0049\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u002e\u0045\u006eco\u0064\u0065";
|
|
_bed :=make ([]byte ,4);_b .BigEndian .PutUint32 (_bed ,uint32 (_fcab .PageBMWidth ));_eaa ,_cbba =w .Write (_bed );if _cbba !=nil {return _eaa ,_df .Wrap (_cbba ,_dec ,"\u0077\u0069\u0064t\u0068");};_b .BigEndian .PutUint32 (_bed ,uint32 (_fcab .PageBMHeight ));
|
|
var _eedd int ;_eedd ,_cbba =w .Write (_bed );if _cbba !=nil {return _eedd +_eaa ,_df .Wrap (_cbba ,_dec ,"\u0068\u0065\u0069\u0067\u0068\u0074");};_eaa +=_eedd ;_b .BigEndian .PutUint32 (_bed ,uint32 (_fcab .ResolutionX ));_eedd ,_cbba =w .Write (_bed );
|
|
if _cbba !=nil {return _eedd +_eaa ,_df .Wrap (_cbba ,_dec ,"\u0078\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");};_eaa +=_eedd ;_b .BigEndian .PutUint32 (_bed ,uint32 (_fcab .ResolutionY ));if _eedd ,_cbba =w .Write (_bed );_cbba !=nil {return _eedd +_eaa ,_df .Wrap (_cbba ,_dec ,"\u0079\u0020\u0072e\u0073\u006f\u006c\u0075\u0074\u0069\u006f\u006e");
|
|
};_eaa +=_eedd ;if _cbba =_fcab .encodeFlags (w );_cbba !=nil {return _eaa ,_df .Wrap (_cbba ,_dec ,"");};_eaa ++;if _eedd ,_cbba =_fcab .encodeStripingInformation (w );_cbba !=nil {return _eaa ,_df .Wrap (_cbba ,_dec ,"");};_eaa +=_eedd ;return _eaa ,nil ;
|
|
};type template1 struct{};func (_egd *GenericRegion )String ()string {_gbcc :=&_c .Builder {};_gbcc .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_gbcc .WriteString (_egd .RegionSegment .String ()+"\u000a");
|
|
_gbcc .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Us\u0065\u0045\u0078\u0074\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_egd .UseExtTemplates ));_gbcc .WriteString (_ba .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0044\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_egd .IsTPGDon ));
|
|
_gbcc .WriteString (_ba .Sprintf ("\u0009-\u0020G\u0042\u0054\u0065\u006d\u0070l\u0061\u0074e\u003a\u0020\u0025\u0064\u000a",_egd .GBTemplate ));_gbcc .WriteString (_ba .Sprintf ("\t\u002d \u0049\u0073\u004d\u004d\u0052\u0045\u006e\u0063o\u0064\u0065\u0064\u003a %\u0076\u000a",_egd .IsMMREncoded ));
|
|
_gbcc .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_egd .GBAtX ));_gbcc .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0042\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_egd .GBAtY ));
|
|
_gbcc .WriteString (_ba .Sprintf ("\t\u002d \u0047\u0042\u0041\u0074\u004f\u0076\u0065\u0072r\u0069\u0064\u0065\u003a %\u0076\u000a",_egd .GBAtOverride ));return _gbcc .String ();};const (ORandom OrganizationType =iota ;OSequential ;);func (_caac *PatternDictionary )readTemplate ()error {_fgdd ,_bfec :=_caac ._aedd .ReadBits (2);
|
|
if _bfec !=nil {return _bfec ;};_caac .HDTemplate =byte (_fgdd );return nil ;};func (_dg *GenericRefinementRegion )overrideAtTemplate0 (_gecc ,_aaf ,_aba ,_dbf ,_cad int )int {if _dg ._bab [0]{_gecc &=0xfff7;if _dg .GrAtY [0]==0&&int (_dg .GrAtX [0])>=-_cad {_gecc |=(_dbf >>uint (7-(_cad +int (_dg .GrAtX [0])))&0x1)<<3;
|
|
}else {_gecc |=_dg .getPixel (_dg .RegionBitmap ,_aaf +int (_dg .GrAtX [0]),_aba +int (_dg .GrAtY [0]))<<3;};};if _dg ._bab [1]{_gecc &=0xefff;if _dg .GrAtY [1]==0&&int (_dg .GrAtX [1])>=-_cad {_gecc |=(_dbf >>uint (7-(_cad +int (_dg .GrAtX [1])))&0x1)<<12;
|
|
}else {_gecc |=_dg .getPixel (_dg .ReferenceBitmap ,_aaf +int (_dg .GrAtX [1]),_aba +int (_dg .GrAtY [1]));};};return _gecc ;};func (_dbccg *PatternDictionary )GetDictionary ()([]*_aa .Bitmap ,error ){if _dbccg .Patterns !=nil {return _dbccg .Patterns ,nil ;
|
|
};if !_dbccg .IsMMREncoded {_dbccg .setGbAtPixels ();};_acf :=NewGenericRegion (_dbccg ._aedd );_acf .setParametersMMR (_dbccg .IsMMREncoded ,_dbccg .DataOffset ,_dbccg .DataLength ,uint32 (_dbccg .HdpHeight ),(_dbccg .GrayMax +1)*uint32 (_dbccg .HdpWidth ),_dbccg .HDTemplate ,false ,false ,_dbccg .GBAtX ,_dbccg .GBAtY );
|
|
_bgdd ,_ffce :=_acf .GetRegionBitmap ();if _ffce !=nil {return nil ,_ffce ;};if _ffce =_dbccg .extractPatterns (_bgdd );_ffce !=nil {return nil ,_ffce ;};return _dbccg .Patterns ,nil ;};func (_cab *GenericRegion )setOverrideFlag (_dbb int ){_cab .GBAtOverride [_dbb ]=true ;
|
|
_cab ._dfg =true ;};func (_gbe *TextRegion )createRegionBitmap ()error {_gbe .RegionBitmap =_aa .New (int (_gbe .RegionInfo .BitmapWidth ),int (_gbe .RegionInfo .BitmapHeight ));if _gbe .DefaultPixel !=0{_gbe .RegionBitmap .SetDefaultPixel ();};return nil ;
|
|
};type Pager interface{GetSegment (int )(*Header ,error );GetBitmap ()(*_aa .Bitmap ,error );};func (_dgac *TextRegion )decodeID ()(int64 ,error ){if _dgac .IsHuffmanEncoded {if _dgac ._abdbc ==nil {_gbed ,_efgg :=_dgac ._deef .ReadBits (byte (_dgac ._befd ));
|
|
return int64 (_gbed ),_efgg ;};return _dgac ._abdbc .Decode (_dgac ._deef );};return _dgac ._adffd .DecodeIAID (uint64 (_dgac ._befd ),_dgac ._afgf );};func (_ccbdb *TextRegion )decodeIds ()(int64 ,error ){const _fbada ="\u0064e\u0063\u006f\u0064\u0065\u0049\u0064s";
|
|
if _ccbdb .IsHuffmanEncoded {if _ccbdb .SbHuffDS ==3{if _ccbdb ._aaff ==nil {_gfaff :=0;if _ccbdb .SbHuffFS ==3{_gfaff ++;};var _edgb error ;_ccbdb ._aaff ,_edgb =_ccbdb .getUserTable (_gfaff );if _edgb !=nil {return 0,_df .Wrap (_edgb ,_fbada ,"");};};
|
|
return _ccbdb ._aaff .Decode (_ccbdb ._deef );};_fgba ,_gadd :=_g .GetStandardTable (8+int (_ccbdb .SbHuffDS ));if _gadd !=nil {return 0,_df .Wrap (_gadd ,_fbada ,"");};return _fgba .Decode (_ccbdb ._deef );};_dgef ,_fdde :=_ccbdb ._adffd .DecodeInt (_ccbdb ._agcab );
|
|
if _fdde !=nil {return 0,_df .Wrap (_fdde ,_fbada ,"\u0063\u0078\u0049\u0041\u0044\u0053");};return int64 (_dgef ),nil ;};func (_gde *GenericRegion )decodeTemplate0b (_dddg ,_abef ,_aaa int ,_fbed ,_gebed int )(_gee error ){const _gef ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0062";
|
|
var (_fdg ,_ead int ;_cee ,_cdba int ;_dcf byte ;_agcc int ;);if _dddg >=1{_dcf ,_gee =_gde .Bitmap .GetByte (_gebed );if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_cee =int (_dcf );};if _dddg >=2{_dcf ,_gee =_gde .Bitmap .GetByte (_gebed -_gde .Bitmap .RowStride );
|
|
if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_cdba =int (_dcf )<<6;};_fdg =(_cee &0xf0)|(_cdba &0x3800);for _caa :=0;_caa < _aaa ;_caa =_agcc {var (_cddf byte ;_aae int ;);_agcc =_caa +8;if _gbge :=_abef -_caa ;
|
|
_gbge > 8{_aae =8;}else {_aae =_gbge ;};if _dddg > 0{_cee <<=8;if _agcc < _abef {_dcf ,_gee =_gde .Bitmap .GetByte (_gebed +1);if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_cee |=int (_dcf );};};if _dddg > 1{_cdba <<=8;
|
|
if _agcc < _abef {_dcf ,_gee =_gde .Bitmap .GetByte (_gebed -_gde .Bitmap .RowStride +1);if _gee !=nil {return _df .Wrap (_gee ,_gef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_cdba |=int (_dcf )<<6;};};for _dcfe :=0;_dcfe < _aae ;_dcfe ++{_ccdc :=uint (7-_dcfe );
|
|
if _gde ._dfg {_ead =_gde .overrideAtTemplate0b (_fdg ,_caa +_dcfe ,_dddg ,int (_cddf ),_dcfe ,int (_ccdc ));_gde ._gbdc .SetIndex (int32 (_ead ));}else {_gde ._gbdc .SetIndex (int32 (_fdg ));};var _abae int ;_abae ,_gee =_gde ._cbe .DecodeBit (_gde ._gbdc );
|
|
if _gee !=nil {return _df .Wrap (_gee ,_gef ,"");};_cddf |=byte (_abae <<_ccdc );_fdg =((_fdg &0x7bf7)<<1)|_abae |((_cee >>_ccdc )&0x10)|((_cdba >>_ccdc )&0x800);};if _fda :=_gde .Bitmap .SetByte (_fbed ,_cddf );_fda !=nil {return _df .Wrap (_fda ,_gef ,"");
|
|
};_fbed ++;_gebed ++;};return nil ;};func (_aee *GenericRegion )overrideAtTemplate3 (_cdeg ,_fgbg ,_ccfa ,_eeb ,_dbg int )int {_cdeg &=0x3EF;if _aee .GBAtY [0]==0&&_aee .GBAtX [0]>=-int8 (_dbg ){_cdeg |=(_eeb >>uint (7-(int8 (_dbg )+_aee .GBAtX [0]))&0x1)<<4;
|
|
}else {_cdeg |=int (_aee .getPixel (_fgbg +int (_aee .GBAtX [0]),_ccfa +int (_aee .GBAtY [0])))<<4;};return _cdeg ;};func (_gag *Header )Encode (w _fde .BinaryWriter )(_dadb int ,_eaeg error ){const _dde ="\u0048\u0065\u0061d\u0065\u0072\u002e\u0057\u0072\u0069\u0074\u0065";
|
|
var _acga _fde .BinaryWriter ;_ac .Log .Trace ("\u005b\u0053\u0045G\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045\u0052\u005d[\u0045\u004e\u0043\u004f\u0044\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _eaeg !=nil {_ac .Log .Trace ("[\u0053\u0045\u0047\u004d\u0045\u004eT\u002d\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0045\u004e\u0043\u004f\u0044E\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020%\u0076",_eaeg );
|
|
}else {_ac .Log .Trace ("\u005b\u0053\u0045\u0047ME\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0025\u0076",_gag );_ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045N\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u005b\u0045\u004e\u0043O\u0044\u0045\u005d\u0020\u0046\u0069\u006ei\u0073\u0068\u0065\u0064");
|
|
};}();w .FinishByte ();if _gag .SegmentData !=nil {_fffg ,_geeg :=_gag .SegmentData .(SegmentEncoder );if !_geeg {return 0,_df .Errorf (_dde ,"\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u003a\u0020\u0025\u0054\u0020\u0064\u006f\u0065s\u006e\u0027\u0074\u0020\u0069\u006d\u0070\u006c\u0065\u006d\u0065\u006e\u0074 \u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0045\u006e\u0063\u006f\u0064er\u0020\u0069\u006e\u0074\u0065\u0072\u0066\u0061\u0063\u0065",_gag .SegmentData );
|
|
};_acga =_fde .BufferedMSB ();_dadb ,_eaeg =_fffg .Encode (_acga );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_gag .SegmentDataLength =uint64 (_dadb );};if _gag .pageSize ()==4{_gag .PageAssociationFieldSize =true ;};var _feg int ;_feg ,_eaeg =_gag .writeSegmentNumber (w );
|
|
if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;if _eaeg =_gag .writeFlags (w );_eaeg !=nil {return _dadb ,_df .Wrap (_eaeg ,_dde ,"");};_dadb ++;_feg ,_eaeg =_gag .writeReferredToCount (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");
|
|
};_dadb +=_feg ;_feg ,_eaeg =_gag .writeReferredToSegments (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;_feg ,_eaeg =_gag .writeSegmentPageAssociation (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;
|
|
_feg ,_eaeg =_gag .writeSegmentDataLength (w );if _eaeg !=nil {return 0,_df .Wrap (_eaeg ,_dde ,"");};_dadb +=_feg ;_gag .HeaderLength =int64 (_dadb )-int64 (_gag .SegmentDataLength );if _acga !=nil {if _ ,_eaeg =w .Write (_acga .Data ());_eaeg !=nil {return _dadb ,_df .Wrap (_eaeg ,_dde ,"\u0077r\u0069t\u0065\u0020\u0073\u0065\u0067m\u0065\u006et\u0020\u0064\u0061\u0074\u0061");
|
|
};};return _dadb ,nil ;};func (_ceba *Header )readNumberOfReferredToSegments (_bacd _fde .StreamReader )(uint64 ,error ){const _eddd ="\u0072\u0065\u0061\u0064\u004e\u0075\u006d\u0062\u0065\u0072O\u0066\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";
|
|
_dfce ,_ffae :=_bacd .ReadBits (3);if _ffae !=nil {return 0,_df .Wrap (_ffae ,_eddd ,"\u0063\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0072\u0074\u0073");};_dfce &=0xf;var _afbe []byte ;if _dfce <=4{_afbe =make ([]byte ,5);for _agbc :=0;_agbc <=4;_agbc ++{_gaea ,_cabd :=_bacd .ReadBit ();
|
|
if _cabd !=nil {return 0,_df .Wrap (_cabd ,_eddd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_afbe [_agbc ]=byte (_gaea );};}else {_dfce ,_ffae =_bacd .ReadBits (29);if _ffae !=nil {return 0,_ffae ;};_dfce &=_d .MaxInt32 ;
|
|
_dfdg :=(_dfce +8)>>3;_dfdg <<=3;_afbe =make ([]byte ,_dfdg );var _edce uint64 ;for _edce =0;_edce < _dfdg ;_edce ++{_abdf ,_ccgf :=_bacd .ReadBit ();if _ccgf !=nil {return 0,_df .Wrap (_ccgf ,_eddd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");
|
|
};_afbe [_edce ]=byte (_abdf );};};return _dfce ,nil ;};func (_eee *GenericRegion )readGBAtPixels (_geda int )error {const _agg ="\u0072\u0065\u0061\u0064\u0047\u0042\u0041\u0074\u0050i\u0078\u0065\u006c\u0073";_eee .GBAtX =make ([]int8 ,_geda );_eee .GBAtY =make ([]int8 ,_geda );
|
|
for _eedf :=0;_eedf < _geda ;_eedf ++{_agdc ,_adf :=_eee ._gbg .ReadByte ();if _adf !=nil {return _df .Wrapf (_adf ,_agg ,"\u0058\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eedf );};_eee .GBAtX [_eedf ]=int8 (_agdc );_agdc ,_adf =_eee ._gbg .ReadByte ();
|
|
if _adf !=nil {return _df .Wrapf (_adf ,_agg ,"\u0059\u0020\u0061t\u0020\u0069\u003a\u0020\u0027\u0025\u0064\u0027",_eedf );};_eee .GBAtY [_eedf ]=int8 (_agdc );};return nil ;};func (_gea *EndOfStripe )LineNumber ()int {return _gea ._ec };func (_ebdg *PageInformationSegment )readWidthAndHeight ()error {_gegb ,_eeaaa :=_ebdg ._badgb .ReadBits (32);
|
|
if _eeaaa !=nil {return _eeaaa ;};_ebdg .PageBMWidth =int (_gegb &_d .MaxInt32 );_gegb ,_eeaaa =_ebdg ._badgb .ReadBits (32);if _eeaaa !=nil {return _eeaaa ;};_ebdg .PageBMHeight =int (_gegb &_d .MaxInt32 );return nil ;};func (_dfdeb *TextRegion )String ()string {_fbae :=&_c .Builder {};
|
|
_fbae .WriteString ("\u000a[\u0054E\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u000a");_fbae .WriteString (_dfdeb .RegionInfo .String ()+"\u000a");_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053br\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbrTemplate ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009-\u0020S\u0062\u0044\u0073\u004f\u0066f\u0073\u0065t\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbDsOffset ));_fbae .WriteString (_ba .Sprintf ("\t\u002d \u0044\u0065\u0066\u0061\u0075\u006c\u0074\u0050i\u0078\u0065\u006c\u003a %\u0076\u000a",_dfdeb .DefaultPixel ));
|
|
_fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0076\u000a",_dfdeb .CombinationOperator ));_fbae .WriteString (_ba .Sprintf ("\t\u002d \u0049\u0073\u0054\u0072\u0061\u006e\u0073\u0070o\u0073\u0065\u0064\u003a %\u0076\u000a",_dfdeb .IsTransposed ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Re\u0066\u0065\u0072\u0065\u006e\u0063\u0065\u0043\u006f\u0072\u006e\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_dfdeb .ReferenceCorner ));_fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0055\u0073eR\u0065f\u0069\u006e\u0065\u006d\u0065n\u0074\u003a\u0020\u0025\u0076\u000a",_dfdeb .UseRefinement ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009-\u0020\u0049\u0073\u0048\u0075\u0066\u0066\u006d\u0061\u006e\u0045n\u0063\u006f\u0064\u0065\u0064\u003a\u0020\u0025\u0076\u000a",_dfdeb .IsHuffmanEncoded ));if _dfdeb .IsHuffmanEncoded {_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRSize ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0059:\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDY ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDX ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053bH\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069\u0067\u0068\u0074\u003a\u0020\u0025v\u000a",_dfdeb .SbHuffRDHeight ));_fbae .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0053\u0062Hu\u0066f\u0052\u0044\u0057\u0069\u0064t\u0068\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffRDWidth ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0054\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffDT ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0044\u0053\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffDS ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d \u0053\u0062\u0048u\u0066\u0066\u0046\u0053\u003a\u0020\u0025\u0076\u000a",_dfdeb .SbHuffFS ));};_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbrATX ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0059:\u0020\u0025\u0076\u000a",_dfdeb .SbrATY ));_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020N\u0075\u006d\u0062\u0065r\u004f\u0066\u0053\u0079\u006d\u0062\u006fl\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0073\u003a\u0020\u0025\u0076\u000a",_dfdeb .NumberOfSymbolInstances ));
|
|
_fbae .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0062\u0072\u0041\u0054\u0058:\u0020\u0025\u0076\u000a",_dfdeb .SbrATX ));return _fbae .String ();};func (_fba *GenericRefinementRegion )updateOverride ()error {if _fba .GrAtX ==nil ||_fba .GrAtY ==nil {return _fd .New ("\u0041\u0054\u0020\u0070\u0069\u0078\u0065\u006c\u0073\u0020\u006e\u006ft\u0020\u0073\u0065\u0074");
|
|
};if len (_fba .GrAtX )!=len (_fba .GrAtY ){return _fd .New ("A\u0054\u0020\u0070\u0069xe\u006c \u0069\u006e\u0063\u006f\u006es\u0069\u0073\u0074\u0065\u006e\u0074");};_fba ._bab =make ([]bool ,len (_fba .GrAtX ));switch _fba .TemplateID {case 0:if _fba .GrAtX [0]!=-1&&_fba .GrAtY [0]!=-1{_fba ._bab [0]=true ;
|
|
_fba ._gg =true ;};if _fba .GrAtX [1]!=-1&&_fba .GrAtY [1]!=-1{_fba ._bab [1]=true ;_fba ._gg =true ;};case 1:_fba ._gg =false ;};return nil ;};func (_cbb *GenericRefinementRegion )Init (header *Header ,r _fde .StreamReader )error {_cbb ._cf =header ;_cbb ._feb =r ;
|
|
_cbb .RegionInfo =NewRegionSegment (r );return _cbb .parseHeader ();};func NewGenericRegion (r _fde .StreamReader )*GenericRegion {return &GenericRegion {RegionSegment :NewRegionSegment (r ),_gbg :r };};func (_cagd *SymbolDictionary )addSymbol (_geccbf Regioner )error {_cbff ,_ebdc :=_geccbf .GetRegionBitmap ();
|
|
if _ebdc !=nil {return _ebdc ;};_cagd ._fefd [_cagd ._ddad ]=_cbff ;_cagd ._feeae =append (_cagd ._feeae ,_cbff );_ac .Log .Trace ("\u005b\u0053YM\u0042\u004f\u004c \u0044\u0049\u0043\u0054ION\u0041RY\u005d\u0020\u0041\u0064\u0064\u0065\u0064 s\u0079\u006d\u0062\u006f\u006c\u003a\u0020%\u0073",_cbff );
|
|
return nil ;};func (_bbge *GenericRegion )setParametersWithAt (_fcgd bool ,_cbeg byte ,_ffb ,_beaa bool ,_cbagg ,_dedc []int8 ,_faed ,_baaf uint32 ,_cacg *_cb .DecoderStats ,_cdce *_cb .Decoder ){_bbge .IsMMREncoded =_fcgd ;_bbge .GBTemplate =_cbeg ;_bbge .IsTPGDon =_ffb ;
|
|
_bbge .GBAtX =_cbagg ;_bbge .GBAtY =_dedc ;_bbge .RegionSegment .BitmapHeight =_baaf ;_bbge .RegionSegment .BitmapWidth =_faed ;_bbge ._abdc =nil ;_bbge .Bitmap =nil ;if _cacg !=nil {_bbge ._gbdc =_cacg ;};if _cdce !=nil {_bbge ._cbe =_cdce ;};_ac .Log .Trace ("\u005b\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0047\u0049O\u004e\u005d\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073\u0020\u0053\u0044\u0041t\u003a\u0020\u0025\u0073",_bbge );
|
|
};func (_gbc *GenericRefinementRegion )decodeOptimized (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf int )error {var (_eb error ;_bbc int ;_ccg int ;);_dc :=_fdc -int (_gbc .ReferenceDY );if _bc :=int (-_gbc .ReferenceDX );_bc > 0{_bbc =_bc ;};_ccb :=_gbc .ReferenceBitmap .GetByteIndex (_bbc ,_dc );
|
|
if _gbc .ReferenceDX > 0{_ccg =int (_gbc .ReferenceDX );};_gca :=_gbc .RegionBitmap .GetByteIndex (_ccg ,_fdc );switch _gbc .TemplateID {case 0:_eb =_gbc .decodeTemplate (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf ,_gca ,_dc ,_ccb ,_gbc ._bag );case 1:_eb =_gbc .decodeTemplate (_fdc ,_efc ,_geb ,_ae ,_dd ,_cg ,_cgf ,_gca ,_dc ,_ccb ,_gbc ._fb );
|
|
};return _eb ;};func (_edcaa *TextRegion )setContexts (_egab *_cb .DecoderStats ,_gadb *_cb .DecoderStats ,_ccge *_cb .DecoderStats ,_efda *_cb .DecoderStats ,_ffda *_cb .DecoderStats ,_cdced *_cb .DecoderStats ,_deee *_cb .DecoderStats ,_affe *_cb .DecoderStats ,_ffbdd *_cb .DecoderStats ,_fegcc *_cb .DecoderStats ){_edcaa ._eaed =_gadb ;
|
|
_edcaa ._dgcaf =_ccge ;_edcaa ._agcab =_efda ;_edcaa ._effgga =_ffda ;_edcaa ._fafd =_deee ;_edcaa ._ddfd =_affe ;_edcaa ._afgf =_cdced ;_edcaa ._gaacf =_ffbdd ;_edcaa ._eabd =_fegcc ;_edcaa ._afgb =_egab ;};func (_cbabg *Header )readHeaderFlags ()error {const _fcc ="\u0072e\u0061d\u0048\u0065\u0061\u0064\u0065\u0072\u0046\u006c\u0061\u0067\u0073";
|
|
_dcee ,_gdbe :=_cbabg .Reader .ReadBit ();if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"r\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067");};if _dcee !=0{_cbabg .RetainFlag =true ;};_dcee ,_gdbe =_cbabg .Reader .ReadBit ();if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"\u0070\u0061g\u0065\u0020\u0061s\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e");
|
|
};if _dcee !=0{_cbabg .PageAssociationFieldSize =true ;};_gfad ,_gdbe :=_cbabg .Reader .ReadBits (6);if _gdbe !=nil {return _df .Wrap (_gdbe ,_fcc ,"\u0073\u0065\u0067m\u0065\u006e\u0074\u0020\u0074\u0079\u0070\u0065");};_cbabg .Type =Type (int (_gfad ));
|
|
return nil ;};type Type int ;func (_ebg Type )String ()string {switch _ebg {case TSymbolDictionary :return "\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069o\u006e\u0061\u0072\u0079";case TIntermediateTextRegion :return "\u0049n\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020T\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";
|
|
case TImmediateTextRegion :return "I\u006d\u006d\u0065\u0064ia\u0074e\u0020\u0054\u0065\u0078\u0074 \u0052\u0065\u0067\u0069\u006f\u006e";case TImmediateLosslessTextRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020L\u006f\u0073\u0073\u006c\u0065\u0073\u0073 \u0054\u0065\u0078\u0074\u0020\u0052\u0065\u0067\u0069\u006f\u006e";
|
|
case TPatternDictionary :return "\u0050a\u0074t\u0065\u0072\u006e\u0020\u0044i\u0063\u0074i\u006f\u006e\u0061\u0072\u0079";case TIntermediateHalftoneRegion :return "\u0049\u006e\u0074\u0065r\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0048\u0061l\u0066t\u006f\u006e\u0065\u0020\u0052\u0065\u0067i\u006f\u006e";
|
|
case TImmediateHalftoneRegion :return "\u0049m\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u0048\u0061l\u0066t\u006fn\u0065\u0020\u0052\u0065\u0067\u0069\u006fn";case TImmediateLosslessHalftoneRegion :return "\u0049\u006d\u006ded\u0069\u0061\u0074\u0065\u0020\u004c\u006f\u0073\u0073l\u0065s\u0073 \u0048a\u006c\u0066\u0074\u006f\u006e\u0065\u0020\u0052\u0065\u0067\u0069\u006f\u006e";
|
|
case TIntermediateGenericRegion :return "I\u006e\u0074\u0065\u0072\u006d\u0065d\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020R\u0065g\u0069\u006f\u006e";case TImmediateGenericRegion :return "\u0049m\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006ee\u0072\u0069\u0063\u0020\u0052\u0065\u0067\u0069\u006f\u006e";
|
|
case TImmediateLosslessGenericRegion :return "\u0049\u006d\u006d\u0065\u0064\u0069a\u0074\u0065\u0020\u004c\u006f\u0073\u0073\u006c\u0065\u0073\u0073\u0020\u0047e\u006e\u0065\u0072\u0069\u0063\u0020\u0052e\u0067\u0069\u006f\u006e";case TIntermediateGenericRefinementRegion :return "\u0049\u006e\u0074\u0065\u0072\u006d\u0065\u0064\u0069\u0061\u0074\u0065\u0020\u0047\u0065\u006e\u0065\u0072\u0069\u0063\u0020\u0052\u0065\u0066i\u006e\u0065\u006d\u0065\u006et\u0020\u0052e\u0067\u0069\u006f\u006e";
|
|
case TImmediateGenericRefinementRegion :return "I\u006d\u006d\u0065\u0064\u0069\u0061t\u0065\u0020\u0047\u0065\u006e\u0065r\u0069\u0063\u0020\u0052\u0065\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020\u0052\u0065\u0067\u0069o\u006e";case TImmediateLosslessGenericRefinementRegion :return "\u0049m\u006d\u0065d\u0069\u0061\u0074\u0065 \u004c\u006f\u0073s\u006c\u0065\u0073\u0073\u0020\u0047\u0065\u006e\u0065ri\u0063\u0020\u0052e\u0066\u0069n\u0065\u006d\u0065\u006e\u0074\u0020R\u0065\u0067i\u006f\u006e";
|
|
case TPageInformation :return "\u0050\u0061g\u0065\u0020\u0049n\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e";case TEndOfPage :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0050\u0061\u0067\u0065";case TEndOfStrip :return "\u0045\u006e\u0064 \u004f\u0066\u0020\u0053\u0074\u0072\u0069\u0070";
|
|
case TEndOfFile :return "E\u006e\u0064\u0020\u004f\u0066\u0020\u0046\u0069\u006c\u0065";case TProfiles :return "\u0050\u0072\u006f\u0066\u0069\u006c\u0065\u0073";case TTables :return "\u0054\u0061\u0062\u006c\u0065\u0073";case TExtension :return "\u0045x\u0074\u0065\u006e\u0073\u0069\u006fn";
|
|
case TBitmap :return "\u0042\u0069\u0074\u006d\u0061\u0070";};return "I\u006ev\u0061\u006c\u0069\u0064\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0020Ki\u006e\u0064";};func (_gdc *GenericRefinementRegion )decodeTypicalPredictedLineTemplate1 (_eea ,_gbag ,_ceb ,_bfe ,_ceg ,_dbc ,_gbd ,_cdbf ,_gebe int )(_fdca error ){var (_bbe ,_gdag int ;
|
|
_dfa ,_aga int ;_cbac ,_dcde int ;_fbe byte ;);if _eea > 0{_fbe ,_fdca =_gdc .RegionBitmap .GetByte (_gbd -_ceb );if _fdca !=nil {return ;};_dfa =int (_fbe );};if _cdbf > 0&&_cdbf <=_gdc .ReferenceBitmap .Height {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe -_bfe +_dbc );
|
|
if _fdca !=nil {return ;};_aga =int (_fbe )<<2;};if _cdbf >=0&&_cdbf < _gdc .ReferenceBitmap .Height {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_dbc );if _fdca !=nil {return ;};_cbac =int (_fbe );};if _cdbf > -2&&_cdbf < _gdc .ReferenceBitmap .Height -1{_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_bfe +_dbc );
|
|
if _fdca !=nil {return ;};_dcde =int (_fbe );};_bbe =((_dfa >>5)&0x6)|((_dcde >>2)&0x30)|(_cbac &0xc0)|(_aga &0x200);_gdag =((_dcde >>2)&0x70)|(_cbac &0xc0)|(_aga &0x700);var _cbc int ;for _bba :=0;_bba < _ceg ;_bba =_cbc {var (_acbg int ;_dcdb int ;);
|
|
_cbc =_bba +8;if _acbg =_gbag -_bba ;_acbg > 8{_acbg =8;};_ccdd :=_cbc < _gbag ;_dfe :=_cbc < _gdc .ReferenceBitmap .Width ;_fc :=_dbc +1;if _eea > 0{_fbe =0;if _ccdd {_fbe ,_fdca =_gdc .RegionBitmap .GetByte (_gbd -_ceb +1);if _fdca !=nil {return ;};};
|
|
_dfa =(_dfa <<8)|int (_fbe );};if _cdbf > 0&&_cdbf <=_gdc .ReferenceBitmap .Height {var _bfee int ;if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe -_bfe +_fc );if _fdca !=nil {return ;};_bfee =int (_fbe )<<2;};_aga =(_aga <<8)|_bfee ;};if _cdbf >=0&&_cdbf < _gdc .ReferenceBitmap .Height {_fbe =0;
|
|
if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_fc );if _fdca !=nil {return ;};};_cbac =(_cbac <<8)|int (_fbe );};if _cdbf > -2&&_cdbf < (_gdc .ReferenceBitmap .Height -1){_fbe =0;if _dfe {_fbe ,_fdca =_gdc .ReferenceBitmap .GetByte (_gebe +_bfe +_fc );
|
|
if _fdca !=nil {return ;};};_dcde =(_dcde <<8)|int (_fbe );};for _acbf :=0;_acbf < _acbg ;_acbf ++{var _dfd int ;_bbfe :=(_gdag >>4)&0x1ff;switch _bbfe {case 0x1ff:_dfd =1;case 0x00:_dfd =0;default:_gdc ._aad .SetIndex (int32 (_bbe ));_dfd ,_fdca =_gdc ._baga .DecodeBit (_gdc ._aad );
|
|
if _fdca !=nil {return ;};};_gec :=uint (7-_acbf );_dcdb |=_dfd <<_gec ;_bbe =((_bbe &0x0d6)<<1)|_dfd |(_dfa >>_gec +5)&0x002|((_dcde >>_gec +2)&0x010)|((_cbac >>_gec )&0x040)|((_aga >>_gec )&0x200);_gdag =((_gdag &0xdb)<<1)|((_dcde >>_gec +2)&0x010)|((_cbac >>_gec )&0x080)|((_aga >>_gec )&0x400);
|
|
};_fdca =_gdc .RegionBitmap .SetByte (_gbd ,byte (_dcdb ));if _fdca !=nil {return ;};_gbd ++;_gebe ++;};return nil ;};type Segmenter interface{Init (_affb *Header ,_efde _fde .StreamReader )error ;};func (_gecd *SymbolDictionary )encodeNumSyms (_ggeg _fde .BinaryWriter )(_dae int ,_dcfc error ){const _agcf ="\u0065\u006e\u0063\u006f\u0064\u0065\u004e\u0075\u006d\u0053\u0079\u006d\u0073";
|
|
_ddgb :=make ([]byte ,4);_b .BigEndian .PutUint32 (_ddgb ,_gecd .NumberOfExportedSymbols );if _dae ,_dcfc =_ggeg .Write (_ddgb );_dcfc !=nil {return _dae ,_df .Wrap (_dcfc ,_agcf ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");
|
|
};_b .BigEndian .PutUint32 (_ddgb ,_gecd .NumberOfNewSymbols );_abb ,_dcfc :=_ggeg .Write (_ddgb );if _dcfc !=nil {return _dae ,_df .Wrap (_dcfc ,_agcf ,"n\u0065\u0077\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");};return _dae +_abb ,nil ;};type RegionSegment struct{_egce _fde .StreamReader ;
|
|
BitmapWidth uint32 ;BitmapHeight uint32 ;XLocation uint32 ;YLocation uint32 ;CombinaionOperator _aa .CombinationOperator ;};func (_cgc *HalftoneRegion )parseHeader ()error {if _ccfd :=_cgc .RegionSegment .parseHeader ();_ccfd !=nil {return _ccfd ;};_ceced ,_bfac :=_cgc ._eecb .ReadBit ();
|
|
if _bfac !=nil {return _bfac ;};_cgc .HDefaultPixel =int8 (_ceced );_ffff ,_bfac :=_cgc ._eecb .ReadBits (3);if _bfac !=nil {return _bfac ;};_cgc .CombinationOperator =_aa .CombinationOperator (_ffff &0xf);_ceced ,_bfac =_cgc ._eecb .ReadBit ();if _bfac !=nil {return _bfac ;
|
|
};if _ceced ==1{_cgc .HSkipEnabled =true ;};_ffff ,_bfac =_cgc ._eecb .ReadBits (2);if _bfac !=nil {return _bfac ;};_cgc .HTemplate =byte (_ffff &0xf);_ceced ,_bfac =_cgc ._eecb .ReadBit ();if _bfac !=nil {return _bfac ;};if _ceced ==1{_cgc .IsMMREncoded =true ;
|
|
};_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridWidth =uint32 (_ffff &_d .MaxUint32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridHeight =uint32 (_ffff &_d .MaxUint32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32);
|
|
if _bfac !=nil {return _bfac ;};_cgc .HGridX =int32 (_ffff &_d .MaxInt32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (32);if _bfac !=nil {return _bfac ;};_cgc .HGridY =int32 (_ffff &_d .MaxInt32 );_ffff ,_bfac =_cgc ._eecb .ReadBits (16);if _bfac !=nil {return _bfac ;
|
|
};_cgc .HRegionX =uint16 (_ffff &_d .MaxUint16 );_ffff ,_bfac =_cgc ._eecb .ReadBits (16);if _bfac !=nil {return _bfac ;};_cgc .HRegionY =uint16 (_ffff &_d .MaxUint16 );if _bfac =_cgc .computeSegmentDataStructure ();_bfac !=nil {return _bfac ;};return _cgc .checkInput ();
|
|
};func (_cbfa *SymbolDictionary )Init (h *Header ,r _fde .StreamReader )error {_cbfa .Header =h ;_cbfa ._gcca =r ;return _cbfa .parseHeader ();};func (_gfbe *TableSegment )HtLow ()int32 {return _gfbe ._abgdd };func (_abfb *TextRegion )decodeSymInRefSize ()(int64 ,error ){const _ddbd ="\u0064e\u0063o\u0064\u0065\u0053\u0079\u006dI\u006e\u0052e\u0066\u0053\u0069\u007a\u0065";
|
|
if _abfb .SbHuffRSize ==0{_defbd ,_gface :=_g .GetStandardTable (1);if _gface !=nil {return 0,_df .Wrap (_gface ,_ddbd ,"");};return _defbd .Decode (_abfb ._deef );};if _abfb ._bbbc ==nil {var (_efgf int ;_ebad error ;);if _abfb .SbHuffFS ==3{_efgf ++;
|
|
};if _abfb .SbHuffDS ==3{_efgf ++;};if _abfb .SbHuffDT ==3{_efgf ++;};if _abfb .SbHuffRDWidth ==3{_efgf ++;};if _abfb .SbHuffRDHeight ==3{_efgf ++;};if _abfb .SbHuffRDX ==3{_efgf ++;};if _abfb .SbHuffRDY ==3{_efgf ++;};_abfb ._bbbc ,_ebad =_abfb .getUserTable (_efgf );
|
|
if _ebad !=nil {return 0,_df .Wrap (_ebad ,_ddbd ,"");};};_edag ,_edda :=_abfb ._bbbc .Decode (_abfb ._deef );if _edda !=nil {return 0,_df .Wrap (_edda ,_ddbd ,"");};return _edag ,nil ;};func (_bbee *HalftoneRegion )GetRegionInfo ()*RegionSegment {return _bbee .RegionSegment };
|
|
func (_bdc *GenericRefinementRegion )readAtPixels ()error {_bdc .GrAtX =make ([]int8 ,2);_bdc .GrAtY =make ([]int8 ,2);_adg ,_bcf :=_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtX [0]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;
|
|
};_bdc .GrAtY [0]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtX [1]=int8 (_adg );_adg ,_bcf =_bdc ._feb .ReadByte ();if _bcf !=nil {return _bcf ;};_bdc .GrAtY [1]=int8 (_adg );return nil ;};func (_cead *RegionSegment )parseHeader ()error {const _dfgf ="p\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072";
|
|
_ac .Log .Trace ("\u005b\u0052\u0045\u0047I\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002dH\u0045A\u0044\u0045\u0052\u005d\u0020\u0042\u0065g\u0069\u006e");defer func (){_ac .Log .Trace ("\u005b\u0052\u0045G\u0049\u004f\u004e\u005d[\u0050\u0041\u0052\u0053\u0045\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");
|
|
}();_cfeb ,_daaa :=_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0077\u0069\u0064t\u0068");};_cead .BitmapWidth =uint32 (_cfeb &_d .MaxUint32 );_cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0068\u0065\u0069\u0067\u0068\u0074");
|
|
};_cead .BitmapHeight =uint32 (_cfeb &_d .MaxUint32 );_cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0078\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cead .XLocation =uint32 (_cfeb &_d .MaxUint32 );
|
|
_cfeb ,_daaa =_cead ._egce .ReadBits (32);if _daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0079\u0020\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e");};_cead .YLocation =uint32 (_cfeb &_d .MaxUint32 );if _ ,_daaa =_cead ._egce .ReadBits (5);_daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"\u0064i\u0072\u0079\u0020\u0072\u0065\u0061d");
|
|
};if _daaa =_cead .readCombinationOperator ();_daaa !=nil {return _df .Wrap (_daaa ,_dfgf ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};return nil ;};func (_dcdg *GenericRegion )decodeTemplate0a (_acg ,_cbaa ,_cbee int ,_eaf ,_gcaa int )(_bea error ){const _feef ="\u0064\u0065c\u006f\u0064\u0065T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0030\u0061";
|
|
var (_ffe ,_cddc int ;_cfd ,_bdg int ;_gaa byte ;_cdc int ;);if _acg >=1{_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa );if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_cfd =int (_gaa );};if _acg >=2{_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa -_dcdg .Bitmap .RowStride );
|
|
if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_bdg =int (_gaa )<<6;};_ffe =(_cfd &0xf0)|(_bdg &0x3800);for _gfd :=0;_gfd < _cbee ;_gfd =_cdc {var (_ddd byte ;_cfb int ;);_cdc =_gfd +8;if _bgd :=_cbaa -_gfd ;
|
|
_bgd > 8{_cfb =8;}else {_cfb =_bgd ;};if _acg > 0{_cfd <<=8;if _cdc < _cbaa {_gaa ,_bea =_dcdg .Bitmap .GetByte (_gcaa +1);if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_cfd |=int (_gaa );};};if _acg > 1{_edd :=_gcaa -_dcdg .Bitmap .RowStride +1;
|
|
_bdg <<=8;if _cdc < _cbaa {_gaa ,_bea =_dcdg .Bitmap .GetByte (_edd );if _bea !=nil {return _df .Wrap (_bea ,_feef ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_bdg |=int (_gaa )<<6;}else {_bdg |=0;};};for _ggf :=0;_ggf < _cfb ;_ggf ++{_bbd :=uint (7-_ggf );
|
|
if _dcdg ._dfg {_cddc =_dcdg .overrideAtTemplate0a (_ffe ,_gfd +_ggf ,_acg ,int (_ddd ),_ggf ,int (_bbd ));_dcdg ._gbdc .SetIndex (int32 (_cddc ));}else {_dcdg ._gbdc .SetIndex (int32 (_ffe ));};var _gega int ;_gega ,_bea =_dcdg ._cbe .DecodeBit (_dcdg ._gbdc );
|
|
if _bea !=nil {return _df .Wrap (_bea ,_feef ,"");};_ddd |=byte (_gega )<<_bbd ;_ffe =((_ffe &0x7bf7)<<1)|_gega |((_cfd >>_bbd )&0x10)|((_bdg >>_bbd )&0x800);};if _afcc :=_dcdg .Bitmap .SetByte (_eaf ,_ddd );_afcc !=nil {return _df .Wrap (_afcc ,_feef ,"");
|
|
};_eaf ++;_gcaa ++;};return nil ;};func (_bfea *GenericRegion )decodeLine (_afba ,_aec ,_dcga int )error {const _gdd ="\u0064\u0065\u0063\u006f\u0064\u0065\u004c\u0069\u006e\u0065";_deg :=_bfea .Bitmap .GetByteIndex (0,_afba );_bcfa :=_deg -_bfea .Bitmap .RowStride ;
|
|
switch _bfea .GBTemplate {case 0:if !_bfea .UseExtTemplates {return _bfea .decodeTemplate0a (_afba ,_aec ,_dcga ,_deg ,_bcfa );};return _bfea .decodeTemplate0b (_afba ,_aec ,_dcga ,_deg ,_bcfa );case 1:return _bfea .decodeTemplate1 (_afba ,_aec ,_dcga ,_deg ,_bcfa );
|
|
case 2:return _bfea .decodeTemplate2 (_afba ,_aec ,_dcga ,_deg ,_bcfa );case 3:return _bfea .decodeTemplate3 (_afba ,_aec ,_dcga ,_deg ,_bcfa );};return _df .Errorf (_gdd ,"\u0069\u006e\u0076a\u006c\u0069\u0064\u0020G\u0042\u0054\u0065\u006d\u0070\u006c\u0061t\u0065\u0020\u0070\u0072\u006f\u0076\u0069\u0064\u0065\u0064\u003a\u0020\u0025\u0064",_bfea .GBTemplate );
|
|
};func (_adb *PageInformationSegment )readIsStriped ()error {_gdgd ,_bde :=_adb ._badgb .ReadBit ();if _bde !=nil {return _bde ;};if _gdgd ==1{_adb .IsStripe =true ;};return nil ;};func (_fdbb *TextRegion )decodeIb (_feda ,_ccdfd int64 )(*_aa .Bitmap ,error ){const _cddff ="\u0064\u0065\u0063\u006f\u0064\u0065\u0049\u0062";
|
|
var (_cfab error ;_adba *_aa .Bitmap ;);if _feda ==0{if int (_ccdfd )> len (_fdbb .Symbols )-1{return nil ,_df .Error (_cddff ,"\u0064\u0065\u0063\u006f\u0064\u0069\u006e\u0067\u0020\u0049\u0042\u0020\u0062\u0069\u0074\u006d\u0061\u0070\u002e\u0020\u0069\u006e\u0064\u0065x\u0020\u006f\u0075\u0074\u0020o\u0066\u0020r\u0061\u006e\u0067\u0065");
|
|
};return _fdbb .Symbols [int (_ccdfd )],nil ;};var _babca ,_dfdc ,_aggc ,_cdbad int64 ;_babca ,_cfab =_fdbb .decodeRdw ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_dfdc ,_cfab =_fdbb .decodeRdh ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");
|
|
};_aggc ,_cfab =_fdbb .decodeRdx ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_cdbad ,_cfab =_fdbb .decodeRdy ();if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};if _fdbb .IsHuffmanEncoded {if _ ,_cfab =_fdbb .decodeSymInRefSize ();
|
|
_cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"");};_fdbb ._deef .Align ();};_cgcb :=_fdbb .Symbols [_ccdfd ];_ebea :=uint32 (_cgcb .Width );_cgeb :=uint32 (_cgcb .Height );_efbe :=int32 (uint32 (_babca )>>1)+int32 (_aggc );_afdc :=int32 (uint32 (_dfdc )>>1)+int32 (_cdbad );
|
|
if _fdbb ._gagd ==nil {_fdbb ._gagd =_eae (_fdbb ._deef ,nil );};_fdbb ._gagd .setParameters (_fdbb ._afgb ,_fdbb ._adffd ,_fdbb .SbrTemplate ,_ebea +uint32 (_babca ),_cgeb +uint32 (_dfdc ),_cgcb ,_efbe ,_afdc ,false ,_fdbb .SbrATX ,_fdbb .SbrATY );_adba ,_cfab =_fdbb ._gagd .GetRegionBitmap ();
|
|
if _cfab !=nil {return nil ,_df .Wrap (_cfab ,_cddff ,"\u0067\u0072\u0066");};if _fdbb .IsHuffmanEncoded {_fdbb ._deef .Align ();};return _adba ,nil ;};func (_ccbe *GenericRegion )decodeTemplate3 (_cgfb ,_cade ,_gac int ,_bfcb ,_ggd int )(_bcga error ){const _fgcc ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0033";
|
|
var (_gfa ,_bfge int ;_geeb int ;_dad byte ;_ceaa ,_ceea int ;);if _cgfb >=1{_dad ,_bcga =_ccbe .Bitmap .GetByte (_ggd );if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_geeb =int (_dad );};_gfa =(_geeb >>1)&0x70;
|
|
for _afag :=0;_afag < _gac ;_afag =_ceaa {var (_becb byte ;_efea int ;);_ceaa =_afag +8;if _fceb :=_cade -_afag ;_fceb > 8{_efea =8;}else {_efea =_fceb ;};if _cgfb >=1{_geeb <<=8;if _ceaa < _cade {_dad ,_bcga =_ccbe .Bitmap .GetByte (_ggd +1);if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"\u0069\u006e\u006e\u0065\u0072\u0020\u002d\u0020\u006c\u0069\u006e\u0065 \u003e\u003d\u0020\u0031");
|
|
};_geeb |=int (_dad );};};for _agca :=0;_agca < _efea ;_agca ++{if _ccbe ._dfg {_bfge =_ccbe .overrideAtTemplate3 (_gfa ,_afag +_agca ,_cgfb ,int (_becb ),_agca );_ccbe ._gbdc .SetIndex (int32 (_bfge ));}else {_ccbe ._gbdc .SetIndex (int32 (_gfa ));};_ceea ,_bcga =_ccbe ._cbe .DecodeBit (_ccbe ._gbdc );
|
|
if _bcga !=nil {return _df .Wrap (_bcga ,_fgcc ,"");};_becb |=byte (_ceea )<<byte (7-_agca );_gfa =((_gfa &0x1f7)<<1)|_ceea |((_geeb >>uint (8-_agca ))&0x010);};if _agdd :=_ccbe .Bitmap .SetByte (_bfcb ,_becb );_agdd !=nil {return _df .Wrap (_agdd ,_fgcc ,"");
|
|
};_bfcb ++;_ggd ++;};return nil ;};func (_bfeb *SymbolDictionary )getUserTable (_gfdf int )(_g .Tabler ,error ){var _dgca int ;for _ ,_fcfd :=range _bfeb .Header .RTSegments {if _fcfd .Type ==53{if _dgca ==_gfdf {_cgeg ,_fbaf :=_fcfd .GetSegmentData ();
|
|
if _fbaf !=nil {return nil ,_fbaf ;};_cffd :=_cgeg .(_g .BasicTabler );return _g .NewEncodedTable (_cffd );};_dgca ++;};};return nil ,nil ;};type GenericRegion struct{_gbg _fde .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;
|
|
DataLength int64 ;RegionSegment *RegionSegment ;UseExtTemplates bool ;IsTPGDon bool ;GBTemplate byte ;IsMMREncoded bool ;UseMMR bool ;GBAtX []int8 ;GBAtY []int8 ;GBAtOverride []bool ;_dfg bool ;Bitmap *_aa .Bitmap ;_cbe *_cb .Decoder ;_gbdc *_cb .DecoderStats ;
|
|
_abdc *_ge .Decoder ;};func (_geca *SymbolDictionary )getSymbol (_dgga int )(*_aa .Bitmap ,error ){const _fggf ="\u0067e\u0074\u0053\u0079\u006d\u0062\u006fl";_gece ,_effge :=_geca ._fege .GetBitmap (_geca ._cbbae [_dgga ]);if _effge !=nil {return nil ,_df .Wrap (_effge ,_fggf ,"\u0063\u0061n\u0027\u0074\u0020g\u0065\u0074\u0020\u0073\u0079\u006d\u0062\u006f\u006c");
|
|
};return _gece ,nil ;};type EndOfStripe struct{_gb _fde .StreamReader ;_ec int ;};func (_fcdf *Header )readSegmentDataLength (_cfda _fde .StreamReader )(_fdgb error ){_fcdf .SegmentDataLength ,_fdgb =_cfda .ReadBits (32);if _fdgb !=nil {return _fdgb ;};
|
|
_fcdf .SegmentDataLength &=_d .MaxInt32 ;return nil ;};func (_fdcaf *SymbolDictionary )parseHeader ()(_geabg error ){_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");
|
|
defer func (){if _geabg !=nil {_ac .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u0020\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u005b\u0050\u0041\u0052SE\u002d\u0048\u0045A\u0044\u0045R\u005d\u0020\u0066\u0061\u0069\u006ce\u0064\u002e \u0025\u0076",_geabg );
|
|
}else {_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c \u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");
|
|
};}();if _geabg =_fdcaf .readRegionFlags ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setAtPixels ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setRefinementAtPixels ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .readNumberOfExportedSymbols ();
|
|
_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .readNumberOfNewSymbols ();_geabg !=nil {return _geabg ;};if _geabg =_fdcaf .setInSyms ();_geabg !=nil {return _geabg ;};if _fdcaf ._acfg {_ggec :=_fdcaf .Header .RTSegments ;for _adge :=len (_ggec )-1;_adge >=0;
|
|
_adge --{if _ggec [_adge ].Type ==0{_aggb ,_bcbf :=_ggec [_adge ].SegmentData .(*SymbolDictionary );if !_bcbf {_geabg =_ba .Errorf ("\u0072\u0065\u006c\u0061\u0074\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074:\u0020\u0025\u0076\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020S\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006fna\u0072\u0079\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_ggec [_adge ]);
|
|
return _geabg ;};if _aggb ._acfg {_fdcaf .setRetainedCodingContexts (_aggb );};break ;};};};if _geabg =_fdcaf .checkInput ();_geabg !=nil {return _geabg ;};return nil ;};func (_acff *SymbolDictionary )readAtPixels (_efge int )error {_acff .SdATX =make ([]int8 ,_efge );
|
|
_acff .SdATY =make ([]int8 ,_efge );var (_cfa byte ;_cdde error ;);for _agac :=0;_agac < _efge ;_agac ++{_cfa ,_cdde =_acff ._gcca .ReadByte ();if _cdde !=nil {return _cdde ;};_acff .SdATX [_agac ]=int8 (_cfa );_cfa ,_cdde =_acff ._gcca .ReadByte ();if _cdde !=nil {return _cdde ;
|
|
};_acff .SdATY [_agac ]=int8 (_cfa );};return nil ;};func (_ebbe *PatternDictionary )parseHeader ()error {_ac .Log .Trace ("\u005b\u0050\u0041\u0054\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054I\u004f\u004e\u0041\u0052\u0059\u005d[\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d\u0020b\u0065\u0067\u0069\u006e");
|
|
defer func (){_ac .Log .Trace ("\u005b\u0050\u0041T\u0054\u0045\u0052\u004e\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u005b\u0070\u0061\u0072\u0073\u0065\u0048\u0065\u0061\u0064\u0065\u0072\u005d \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");
|
|
}();_ ,_ccef :=_ebbe ._aedd .ReadBits (5);if _ccef !=nil {return _ccef ;};if _ccef =_ebbe .readTemplate ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .readIsMMREncoded ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .readPatternWidthAndHeight ();_ccef !=nil {return _ccef ;
|
|
};if _ccef =_ebbe .readGrayMax ();_ccef !=nil {return _ccef ;};if _ccef =_ebbe .computeSegmentDataStructure ();_ccef !=nil {return _ccef ;};return _ebbe .checkInput ();};func (_edfe *TextRegion )InitEncode (globalSymbolsMap ,localSymbolsMap map[int ]int ,comps []int ,inLL *_aa .Points ,symbols *_aa .Bitmaps ,classIDs *_fe .IntSlice ,boxes *_aa .Boxes ,width ,height ,symBits int ){_edfe .RegionInfo =&RegionSegment {BitmapWidth :uint32 (width ),BitmapHeight :uint32 (height )};
|
|
_edfe ._bdcda =globalSymbolsMap ;_edfe ._aaceb =localSymbolsMap ;_edfe ._cfbfb =comps ;_edfe ._bggc =inLL ;_edfe ._dgafa =symbols ;_edfe ._bgga =classIDs ;_edfe ._beeb =boxes ;_edfe ._eeaag =symBits ;};type Documenter interface{GetPage (int )(Pager ,error );
|
|
GetGlobalSegment (int )(*Header ,error );};type templater interface{form (_dcg ,_cbag ,_aeb ,_effg ,_gae int16 )int16 ;setIndex (_cbab *_cb .DecoderStats );};func (_bfcf *SymbolDictionary )decodeHeightClassBitmap (_feeg *_aa .Bitmap ,_aafa int64 ,_ecgc int ,_ddgbg []int )error {for _agga :=_aafa ;
|
|
_agga < int64 (_bfcf ._ddad );_agga ++{var _fcgf int ;for _deaf :=_aafa ;_deaf <=_agga -1;_deaf ++{_fcgf +=_ddgbg [_deaf ];};_fece :=_f .Rect (_fcgf ,0,_fcgf +_ddgbg [_agga ],_ecgc );_eecc ,_bede :=_aa .Extract (_fece ,_feeg );if _bede !=nil {return _bede ;
|
|
};_bfcf ._fefd [_agga ]=_eecc ;_bfcf ._feeae =append (_bfcf ._feeae ,_eecc );};return nil ;};func (_ccce *SymbolDictionary )encodeRefinementATFlags (_ecab _fde .BinaryWriter )(_fbbb int ,_baae error ){const _bceb ="\u0065\u006e\u0063od\u0065\u0052\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0041\u0054\u0046\u006c\u0061\u0067\u0073";
|
|
if !_ccce .UseRefinementAggregation ||_ccce .SdrTemplate !=0{return 0,nil ;};for _bacda :=0;_bacda < 2;_bacda ++{if _baae =_ecab .WriteByte (byte (_ccce .SdrATX [_bacda ]));_baae !=nil {return _fbbb ,_df .Wrapf (_baae ,_bceb ,"\u0053\u0064\u0072\u0041\u0054\u0058\u005b\u0025\u0064\u005d",_bacda );
|
|
};_fbbb ++;if _baae =_ecab .WriteByte (byte (_ccce .SdrATY [_bacda ]));_baae !=nil {return _fbbb ,_df .Wrapf (_baae ,_bceb ,"\u0053\u0064\u0072\u0041\u0054\u0059\u005b\u0025\u0064\u005d",_bacda );};_fbbb ++;};return _fbbb ,nil ;};func (_fef *Header )CleanSegmentData (){if _fef .SegmentData !=nil {_fef .SegmentData =nil ;
|
|
};};func (_ddcc *TextRegion )checkInput ()error {const _edddc ="\u0063\u0068\u0065\u0063\u006b\u0049\u006e\u0070\u0075\u0074";if !_ddcc .UseRefinement {if _ddcc .SbrTemplate !=0{_ac .Log .Debug ("\u0053\u0062\u0072Te\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");
|
|
_ddcc .SbrTemplate =0;};};if _ddcc .SbHuffFS ==2||_ddcc .SbHuffRDWidth ==2||_ddcc .SbHuffRDHeight ==2||_ddcc .SbHuffRDX ==2||_ddcc .SbHuffRDY ==2{return _df .Error (_edddc ,"h\u0075\u0066\u0066\u006d\u0061\u006e \u0066\u006c\u0061\u0067\u0020\u0076a\u006c\u0075\u0065\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0070\u0065\u0072\u006d\u0069\u0074\u0074e\u0064");
|
|
};if !_ddcc .UseRefinement {if _ddcc .SbHuffRSize !=0{_ac .Log .Debug ("\u0053\u0062\u0048uf\u0066\u0052\u0053\u0069\u007a\u0065\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030");_ddcc .SbHuffRSize =0;};if _ddcc .SbHuffRDY !=0{_ac .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044Y\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");
|
|
_ddcc .SbHuffRDY =0;};if _ddcc .SbHuffRDX !=0{_ac .Log .Debug ("S\u0062\u0048\u0075\u0066fR\u0044X\u0020\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0030");_ddcc .SbHuffRDX =0;};if _ddcc .SbHuffRDWidth !=0{_ac .Log .Debug ("\u0053b\u0048\u0075\u0066\u0066R\u0044\u0057\u0069\u0064\u0074h\u0020s\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u00200");
|
|
_ddcc .SbHuffRDWidth =0;};if _ddcc .SbHuffRDHeight !=0{_ac .Log .Debug ("\u0053\u0062\u0048\u0075\u0066\u0066\u0052\u0044\u0048\u0065\u0069g\u0068\u0074\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020b\u0065\u0020\u0030");_ddcc .SbHuffRDHeight =0;};};return nil ;
|
|
};func (_dcbe *GenericRegion )setParametersMMR (_ggb bool ,_gbcb ,_cadd int64 ,_eadf ,_bbcb uint32 ,_edc byte ,_ecef ,_dea bool ,_cfdf ,_bcgb []int8 ){_dcbe .DataOffset =_gbcb ;_dcbe .DataLength =_cadd ;_dcbe .RegionSegment =&RegionSegment {};_dcbe .RegionSegment .BitmapHeight =_eadf ;
|
|
_dcbe .RegionSegment .BitmapWidth =_bbcb ;_dcbe .GBTemplate =_edc ;_dcbe .IsMMREncoded =_ggb ;_dcbe .IsTPGDon =_ecef ;_dcbe .GBAtX =_cfdf ;_dcbe .GBAtY =_bcgb ;};func (_be *EndOfStripe )Init (h *Header ,r _fde .StreamReader )error {_be ._gb =r ;return _be .parseHeader (h ,r );
|
|
};func (_cedfc *SymbolDictionary )setAtPixels ()error {if _cedfc .IsHuffmanEncoded {return nil ;};_eefeag :=1;if _cedfc .SdTemplate ==0{_eefeag =4;};if _bfeab :=_cedfc .readAtPixels (_eefeag );_bfeab !=nil {return _bfeab ;};return nil ;};func (_bbfb *GenericRefinementRegion )setParameters (_cfg *_cb .DecoderStats ,_afc *_cb .Decoder ,_cegf int8 ,_afe ,_fgg uint32 ,_agad *_aa .Bitmap ,_ffg ,_bfd int32 ,_fce bool ,_cag []int8 ,_aea []int8 ){_ac .Log .Trace ("\u005b\u0047\u0045NE\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052E\u0047I\u004fN\u005d \u0073\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073");
|
|
if _cfg !=nil {_bbfb ._aad =_cfg ;};if _afc !=nil {_bbfb ._baga =_afc ;};_bbfb .TemplateID =_cegf ;_bbfb .RegionInfo .BitmapWidth =_afe ;_bbfb .RegionInfo .BitmapHeight =_fgg ;_bbfb .ReferenceBitmap =_agad ;_bbfb .ReferenceDX =_ffg ;_bbfb .ReferenceDY =_bfd ;
|
|
_bbfb .IsTPGROn =_fce ;_bbfb .GrAtX =_cag ;_bbfb .GrAtY =_aea ;_bbfb .RegionBitmap =nil ;_ac .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0073\u0065\u0074P\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0073 f\u0069\u006ei\u0073\u0068\u0065\u0064\u002e\u0020\u0025\u0073",_bbfb );
|
|
};type PatternDictionary struct{_aedd _fde .StreamReader ;DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;GBAtX []int8 ;GBAtY []int8 ;IsMMREncoded bool ;HDTemplate byte ;HdpWidth byte ;HdpHeight byte ;Patterns []*_aa .Bitmap ;
|
|
GrayMax uint32 ;};func (_gbeb *TextRegion )readUseRefinement ()error {if !_gbeb .UseRefinement ||_gbeb .SbrTemplate !=0{return nil ;};var (_baad byte ;_bfbf error ;);_gbeb .SbrATX =make ([]int8 ,2);_gbeb .SbrATY =make ([]int8 ,2);_baad ,_bfbf =_gbeb ._deef .ReadByte ();
|
|
if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATX [0]=int8 (_baad );_baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATY [0]=int8 (_baad );_baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATX [1]=int8 (_baad );
|
|
_baad ,_bfbf =_gbeb ._deef .ReadByte ();if _bfbf !=nil {return _bfbf ;};_gbeb .SbrATY [1]=int8 (_baad );return nil ;};func (_cggf *TextRegion )decodeRdw ()(int64 ,error ){const _gebbb ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064w";if _cggf .IsHuffmanEncoded {if _cggf .SbHuffRDWidth ==3{if _cggf ._fgde ==nil {var (_cbabb int ;
|
|
_ceee error ;);if _cggf .SbHuffFS ==3{_cbabb ++;};if _cggf .SbHuffDS ==3{_cbabb ++;};if _cggf .SbHuffDT ==3{_cbabb ++;};_cggf ._fgde ,_ceee =_cggf .getUserTable (_cbabb );if _ceee !=nil {return 0,_df .Wrap (_ceee ,_gebbb ,"");};};return _cggf ._fgde .Decode (_cggf ._deef );
|
|
};_fbbbe ,_gdbb :=_g .GetStandardTable (14+int (_cggf .SbHuffRDWidth ));if _gdbb !=nil {return 0,_df .Wrap (_gdbb ,_gebbb ,"");};return _fbbbe .Decode (_cggf ._deef );};_bfga ,_effgb :=_cggf ._adffd .DecodeInt (_cggf ._fafd );if _effgb !=nil {return 0,_df .Wrap (_effgb ,_gebbb ,"");
|
|
};return int64 (_bfga ),nil ;};type Regioner interface{GetRegionBitmap ()(*_aa .Bitmap ,error );GetRegionInfo ()*RegionSegment ;};func (_gbba *template0 )form (_ada ,_fgc ,_gdae ,_cegc ,_ece int16 )int16 {return (_ada <<10)|(_fgc <<7)|(_gdae <<4)|(_cegc <<1)|_ece ;
|
|
};func (_ddf *GenericRefinementRegion )decodeTypicalPredictedLineTemplate0 (_cdb ,_gcaf ,_cba ,_aed ,_gba ,_febf ,_cgff ,_cge ,_cdg int )error {var (_bbce ,_bf ,_gbb ,_dcd ,_fdef ,_acc int ;_efca byte ;_fdcf error ;);if _cdb > 0{_efca ,_fdcf =_ddf .RegionBitmap .GetByte (_cgff -_cba );
|
|
if _fdcf !=nil {return _fdcf ;};_gbb =int (_efca );};if _cge > 0&&_cge <=_ddf .ReferenceBitmap .Height {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg -_aed +_febf );if _fdcf !=nil {return _fdcf ;};_dcd =int (_efca )<<4;};if _cge >=0&&_cge < _ddf .ReferenceBitmap .Height {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_febf );
|
|
if _fdcf !=nil {return _fdcf ;};_fdef =int (_efca )<<1;};if _cge > -2&&_cge < _ddf .ReferenceBitmap .Height -1{_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_aed +_febf );if _fdcf !=nil {return _fdcf ;};_acc =int (_efca );};_bbce =((_gbb >>5)&0x6)|((_acc >>2)&0x30)|(_fdef &0x180)|(_dcd &0xc00);
|
|
var _ce int ;for _feag :=0;_feag < _gba ;_feag =_ce {var _bfb int ;_ce =_feag +8;var _eff int ;if _eff =_gcaf -_feag ;_eff > 8{_eff =8;};_cef :=_ce < _gcaf ;_gcc :=_ce < _ddf .ReferenceBitmap .Width ;_ccd :=_febf +1;if _cdb > 0{_efca =0;if _cef {_efca ,_fdcf =_ddf .RegionBitmap .GetByte (_cgff -_cba +1);
|
|
if _fdcf !=nil {return _fdcf ;};};_gbb =(_gbb <<8)|int (_efca );};if _cge > 0&&_cge <=_ddf .ReferenceBitmap .Height {var _dce int ;if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg -_aed +_ccd );if _fdcf !=nil {return _fdcf ;};_dce =int (_efca )<<4;
|
|
};_dcd =(_dcd <<8)|_dce ;};if _cge >=0&&_cge < _ddf .ReferenceBitmap .Height {var _cbaf int ;if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_ccd );if _fdcf !=nil {return _fdcf ;};_cbaf =int (_efca )<<1;};_fdef =(_fdef <<8)|_cbaf ;};if _cge > -2&&_cge < (_ddf .ReferenceBitmap .Height -1){_efca =0;
|
|
if _gcc {_efca ,_fdcf =_ddf .ReferenceBitmap .GetByte (_cdg +_aed +_ccd );if _fdcf !=nil {return _fdcf ;};};_acc =(_acc <<8)|int (_efca );};for _geg :=0;_geg < _eff ;_geg ++{var _efb int ;_efe :=false ;_af :=(_bbce >>4)&0x1ff;if _af ==0x1ff{_efe =true ;
|
|
_efb =1;}else if _af ==0x00{_efe =true ;};if !_efe {if _ddf ._gg {_bf =_ddf .overrideAtTemplate0 (_bbce ,_feag +_geg ,_cdb ,_bfb ,_geg );_ddf ._aad .SetIndex (int32 (_bf ));}else {_ddf ._aad .SetIndex (int32 (_bbce ));};_efb ,_fdcf =_ddf ._baga .DecodeBit (_ddf ._aad );
|
|
if _fdcf !=nil {return _fdcf ;};};_gda :=uint (7-_geg );_bfb |=_efb <<_gda ;_bbce =((_bbce &0xdb6)<<1)|_efb |(_gbb >>_gda +5)&0x002|((_acc >>_gda +2)&0x010)|((_fdef >>_gda )&0x080)|((_dcd >>_gda )&0x400);};_fdcf =_ddf .RegionBitmap .SetByte (_cgff ,byte (_bfb ));
|
|
if _fdcf !=nil {return _fdcf ;};_cgff ++;_cdg ++;};return nil ;};func (_fgbc *HalftoneRegion )GetRegionBitmap ()(*_aa .Bitmap ,error ){if _fgbc .HalftoneRegionBitmap !=nil {return _fgbc .HalftoneRegionBitmap ,nil ;};var _gegab error ;_fgbc .HalftoneRegionBitmap =_aa .New (int (_fgbc .RegionSegment .BitmapWidth ),int (_fgbc .RegionSegment .BitmapHeight ));
|
|
if _fgbc .Patterns ==nil ||len (_fgbc .Patterns )==0{_fgbc .Patterns ,_gegab =_fgbc .GetPatterns ();if _gegab !=nil {return nil ,_gegab ;};};if _fgbc .HDefaultPixel ==1{_fgbc .HalftoneRegionBitmap .SetDefaultPixel ();};_dfc :=_d .Ceil (_d .Log (float64 (len (_fgbc .Patterns )))/_d .Log (2));
|
|
_fead :=int (_dfc );var _cfdd [][]int ;_cfdd ,_gegab =_fgbc .grayScaleDecoding (_fead );if _gegab !=nil {return nil ,_gegab ;};if _gegab =_fgbc .renderPattern (_cfdd );_gegab !=nil {return nil ,_gegab ;};return _fgbc .HalftoneRegionBitmap ,nil ;};func (_cagdb *SymbolDictionary )decodeRefinedSymbol (_fagg ,_aacb uint32 )error {var (_dgab int ;
|
|
_aggf ,_eaegd int32 ;);if _cagdb .IsHuffmanEncoded {_cdef ,_agaa :=_cagdb ._gcca .ReadBits (byte (_cagdb ._defg ));if _agaa !=nil {return _agaa ;};_dgab =int (_cdef );_abfaa ,_agaa :=_g .GetStandardTable (15);if _agaa !=nil {return _agaa ;};_gebbe ,_agaa :=_abfaa .Decode (_cagdb ._gcca );
|
|
if _agaa !=nil {return _agaa ;};_aggf =int32 (_gebbe );_gebbe ,_agaa =_abfaa .Decode (_cagdb ._gcca );if _agaa !=nil {return _agaa ;};_eaegd =int32 (_gebbe );_abfaa ,_agaa =_g .GetStandardTable (1);if _agaa !=nil {return _agaa ;};if _ ,_agaa =_abfaa .Decode (_cagdb ._gcca );
|
|
_agaa !=nil {return _agaa ;};_cagdb ._gcca .Align ();}else {_ebgc ,_edfc :=_cagdb ._cecef .DecodeIAID (uint64 (_cagdb ._defg ),_cagdb ._ccfe );if _edfc !=nil {return _edfc ;};_dgab =int (_ebgc );_aggf ,_edfc =_cagdb ._cecef .DecodeInt (_cagdb ._aeda );
|
|
if _edfc !=nil {return _edfc ;};_eaegd ,_edfc =_cagdb ._cecef .DecodeInt (_cagdb ._dgd );if _edfc !=nil {return _edfc ;};};if _gga :=_cagdb .setSymbolsArray ();_gga !=nil {return _gga ;};_gcbg :=_cagdb ._feeae [_dgab ];if _gbgea :=_cagdb .decodeNewSymbols (_fagg ,_aacb ,_gcbg ,_aggf ,_eaegd );
|
|
_gbgea !=nil {return _gbgea ;};if _cagdb .IsHuffmanEncoded {_cagdb ._gcca .Align ();};return nil ;};type TableSegment struct{_bcebe _fde .StreamReader ;_affd int32 ;_bece int32 ;_faeec int32 ;_abgdd int32 ;_fdce int32 ;};func (_ff *EndOfStripe )parseHeader (_cc *Header ,_baa _fde .StreamReader )error {_fea ,_fg :=_ff ._gb .ReadBits (32);
|
|
if _fg !=nil {return _fg ;};_ff ._ec =int (_fea &_d .MaxInt32 );return nil ;};var _ templater =&template1 {};func (_cagg *GenericRegion )updateOverrideFlags ()error {const _feed ="\u0075\u0070\u0064\u0061te\u004f\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u0046\u006c\u0061\u0067\u0073";
|
|
if _cagg .GBAtX ==nil ||_cagg .GBAtY ==nil {return nil ;};if len (_cagg .GBAtX )!=len (_cagg .GBAtY ){return _df .Errorf (_feed ,"i\u006eco\u0073i\u0073t\u0065\u006e\u0074\u0020\u0041T\u0020\u0070\u0069x\u0065\u006c\u002e\u0020\u0041m\u006f\u0075\u006et\u0020\u006f\u0066\u0020\u0027\u0078\u0027\u0020\u0070\u0069\u0078e\u006c\u0073\u003a %d\u002c\u0020\u0041\u006d\u006f\u0075n\u0074\u0020\u006f\u0066\u0020\u0027\u0079\u0027\u0020\u0070\u0069\u0078e\u006cs\u003a\u0020\u0025\u0064",len (_cagg .GBAtX ),len (_cagg .GBAtY ));
|
|
};_cagg .GBAtOverride =make ([]bool ,len (_cagg .GBAtX ));switch _cagg .GBTemplate {case 0:if !_cagg .UseExtTemplates {if _cagg .GBAtX [0]!=3||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};if _cagg .GBAtX [1]!=-3||_cagg .GBAtY [1]!=-1{_cagg .setOverrideFlag (1);
|
|
};if _cagg .GBAtX [2]!=2||_cagg .GBAtY [2]!=-2{_cagg .setOverrideFlag (2);};if _cagg .GBAtX [3]!=-2||_cagg .GBAtY [3]!=-2{_cagg .setOverrideFlag (3);};}else {if _cagg .GBAtX [0]!=-2||_cagg .GBAtY [0]!=0{_cagg .setOverrideFlag (0);};if _cagg .GBAtX [1]!=0||_cagg .GBAtY [1]!=-2{_cagg .setOverrideFlag (1);
|
|
};if _cagg .GBAtX [2]!=-2||_cagg .GBAtY [2]!=-1{_cagg .setOverrideFlag (2);};if _cagg .GBAtX [3]!=-1||_cagg .GBAtY [3]!=-2{_cagg .setOverrideFlag (3);};if _cagg .GBAtX [4]!=1||_cagg .GBAtY [4]!=-2{_cagg .setOverrideFlag (4);};if _cagg .GBAtX [5]!=2||_cagg .GBAtY [5]!=-1{_cagg .setOverrideFlag (5);
|
|
};if _cagg .GBAtX [6]!=-3||_cagg .GBAtY [6]!=0{_cagg .setOverrideFlag (6);};if _cagg .GBAtX [7]!=-4||_cagg .GBAtY [7]!=0{_cagg .setOverrideFlag (7);};if _cagg .GBAtX [8]!=2||_cagg .GBAtY [8]!=-2{_cagg .setOverrideFlag (8);};if _cagg .GBAtX [9]!=3||_cagg .GBAtY [9]!=-1{_cagg .setOverrideFlag (9);
|
|
};if _cagg .GBAtX [10]!=-2||_cagg .GBAtY [10]!=-2{_cagg .setOverrideFlag (10);};if _cagg .GBAtX [11]!=-3||_cagg .GBAtY [11]!=-1{_cagg .setOverrideFlag (11);};};case 1:if _cagg .GBAtX [0]!=3||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};case 2:if _cagg .GBAtX [0]!=2||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);
|
|
};case 3:if _cagg .GBAtX [0]!=2||_cagg .GBAtY [0]!=-1{_cagg .setOverrideFlag (0);};};return nil ;};func (_aecf *Header )writeFlags (_bae _fde .BinaryWriter )(_ggbcd error ){const _fdcff ="\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065F\u006c\u0061\u0067\u0073";
|
|
_dgag :=byte (_aecf .Type );if _ggbcd =_bae .WriteByte (_dgag );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0077\u0072\u0069ti\u006e\u0067\u0020\u0073\u0065\u0067\u006d\u0065\u006et\u0020t\u0079p\u0065 \u006e\u0075\u006d\u0062\u0065\u0072\u0020\u0066\u0061\u0069\u006c\u0065\u0064");
|
|
};if !_aecf .RetainFlag &&!_aecf .PageAssociationFieldSize {return nil ;};if _ggbcd =_bae .SkipBits (-8);_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0073\u006bi\u0070\u0070\u0069\u006e\u0067\u0020\u0062\u0061\u0063\u006b\u0020\u0074\u0068\u0065\u0020\u0062\u0069\u0074\u0073\u0020\u0066\u0061il\u0065\u0064");
|
|
};var _deba int ;if _aecf .RetainFlag {_deba =1;};if _ggbcd =_bae .WriteBit (_deba );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"\u0072\u0065\u0074\u0061in\u0020\u0072\u0065\u0074\u0061\u0069\u006e\u0020\u0066\u006c\u0061\u0067\u0073");};_deba =0;
|
|
if _aecf .PageAssociationFieldSize {_deba =1;};if _ggbcd =_bae .WriteBit (_deba );_ggbcd !=nil {return _df .Wrap (_ggbcd ,_fdcff ,"p\u0061\u0067\u0065\u0020as\u0073o\u0063\u0069\u0061\u0074\u0069o\u006e\u0020\u0066\u006c\u0061\u0067");};_bae .FinishByte ();
|
|
return nil ;};func (_bfdd *GenericRegion )getPixel (_gaf ,_eca int )int8 {if _gaf < 0||_gaf >=_bfdd .Bitmap .Width {return 0;};if _eca < 0||_eca >=_bfdd .Bitmap .Height {return 0;};if _bfdd .Bitmap .GetPixel (_gaf ,_eca ){return 1;};return 0;};func (_bgec *PageInformationSegment )CombinationOperator ()_aa .CombinationOperator {return _bgec ._gadg ;
|
|
};type SymbolDictionary struct{_gcca _fde .StreamReader ;SdrTemplate int8 ;SdTemplate int8 ;_gebfg bool ;_acfg bool ;SdHuffAggInstanceSelection bool ;SdHuffBMSizeSelection int8 ;SdHuffDecodeWidthSelection int8 ;SdHuffDecodeHeightSelection int8 ;UseRefinementAggregation bool ;
|
|
IsHuffmanEncoded bool ;SdATX []int8 ;SdATY []int8 ;SdrATX []int8 ;SdrATY []int8 ;NumberOfExportedSymbols uint32 ;NumberOfNewSymbols uint32 ;Header *Header ;_fdcd uint32 ;_gdf []*_aa .Bitmap ;_ddad uint32 ;_fefd []*_aa .Bitmap ;_cdbe _g .Tabler ;_cbfdg _g .Tabler ;
|
|
_ebeg _g .Tabler ;_gcbf _g .Tabler ;_gacc []*_aa .Bitmap ;_feeae []*_aa .Bitmap ;_cecef *_cb .Decoder ;_edef *TextRegion ;_baeb *GenericRegion ;_aebg *GenericRefinementRegion ;_dbca *_cb .DecoderStats ;_def *_cb .DecoderStats ;_fdcg *_cb .DecoderStats ;
|
|
_dbbe *_cb .DecoderStats ;_bcdg *_cb .DecoderStats ;_aeda *_cb .DecoderStats ;_dgd *_cb .DecoderStats ;_cbca *_cb .DecoderStats ;_ccfe *_cb .DecoderStats ;_defg int8 ;_fege *_aa .Bitmaps ;_cbbae []int ;_ecdcc map[int ]int ;_dbd bool ;};func (_bafb *Header )parse (_effgg Documenter ,_egcb _fde .StreamReader ,_ggbc int64 ,_becg OrganizationType )(_ebdda error ){const _bfbbg ="\u0070\u0061\u0072s\u0065";
|
|
_ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048E\u0041\u0044\u0045\u0052\u005d\u005b\u0050A\u0052\u0053\u0045\u005d\u0020\u0042\u0065\u0067\u0069\u006e\u0073");defer func (){if _ebdda !=nil {_ac .Log .Trace ("\u005b\u0053\u0045GM\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045R\u005d[\u0050A\u0052S\u0045\u005d\u0020\u0046\u0061\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_ebdda );
|
|
}else {_ac .Log .Trace ("\u005b\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u002d\u0048\u0045\u0041\u0044\u0045\u0052]\u005bP\u0041\u0052\u0053\u0045\u005d\u0020\u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064");};}();_ ,_ebdda =_egcb .Seek (_ggbc ,_a .SeekStart );
|
|
if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"\u0073\u0065\u0065\u006b\u0020\u0073\u0074\u0061\u0072\u0074");};if _ebdda =_bafb .readSegmentNumber (_egcb );_ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};if _ebdda =_bafb .readHeaderFlags ();
|
|
_ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};var _cfbd uint64 ;_cfbd ,_ebdda =_bafb .readNumberOfReferredToSegments (_egcb );if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};_bafb .RTSNumbers ,_ebdda =_bafb .readReferredToSegmentNumbers (_egcb ,int (_cfbd ));
|
|
if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};_ebdda =_bafb .readSegmentPageAssociation (_effgg ,_egcb ,_cfbd ,_bafb .RTSNumbers ...);if _ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};if _bafb .Type !=TEndOfFile {if _ebdda =_bafb .readSegmentDataLength (_egcb );
|
|
_ebdda !=nil {return _df .Wrap (_ebdda ,_bfbbg ,"");};};_bafb .readDataStartOffset (_egcb ,_becg );_bafb .readHeaderLength (_egcb ,_ggbc );_ac .Log .Trace ("\u0025\u0073",_bafb );return nil ;};func (_dcbaa *PatternDictionary )readIsMMREncoded ()error {_bfag ,_feec :=_dcbaa ._aedd .ReadBit ();
|
|
if _feec !=nil {return _feec ;};if _bfag !=0{_dcbaa .IsMMREncoded =true ;};return nil ;};func NewRegionSegment (r _fde .StreamReader )*RegionSegment {return &RegionSegment {_egce :r }};func (_fggg *SymbolDictionary )setSymbolsArray ()error {if _fggg ._gdf ==nil {if _dfee :=_fggg .retrieveImportSymbols ();
|
|
_dfee !=nil {return _dfee ;};};if _fggg ._feeae ==nil {_fggg ._feeae =append (_fggg ._feeae ,_fggg ._gdf ...);};return nil ;};func (_aefdd *SymbolDictionary )readRefinementAtPixels (_fdfe int )error {_aefdd .SdrATX =make ([]int8 ,_fdfe );_aefdd .SdrATY =make ([]int8 ,_fdfe );
|
|
var (_egdb byte ;_fgca error ;);for _faf :=0;_faf < _fdfe ;_faf ++{_egdb ,_fgca =_aefdd ._gcca .ReadByte ();if _fgca !=nil {return _fgca ;};_aefdd .SdrATX [_faf ]=int8 (_egdb );_egdb ,_fgca =_aefdd ._gcca .ReadByte ();if _fgca !=nil {return _fgca ;};_aefdd .SdrATY [_faf ]=int8 (_egdb );
|
|
};return nil ;};func (_cbeca *TextRegion )Init (header *Header ,r _fde .StreamReader )error {_cbeca .Header =header ;_cbeca ._deef =r ;_cbeca .RegionInfo =NewRegionSegment (_cbeca ._deef );return _cbeca .parseHeader ();};func (_feea *RegionSegment )Size ()int {return 17};
|
|
func (_bgbf *PatternDictionary )computeSegmentDataStructure ()error {_bgbf .DataOffset =_bgbf ._aedd .StreamPosition ();_bgbf .DataHeaderLength =_bgbf .DataOffset -_bgbf .DataHeaderOffset ;_bgbf .DataLength =int64 (_bgbf ._aedd .Length ())-_bgbf .DataHeaderLength ;
|
|
return nil ;};func (_fedc *PageInformationSegment )readDefaultPixelValue ()error {_bgaa ,_ccgg :=_fedc ._badgb .ReadBit ();if _ccgg !=nil {return _ccgg ;};_fedc .DefaultPixelValue =uint8 (_bgaa &0xf);return nil ;};func (_daad *SymbolDictionary )checkInput ()error {if _daad .SdHuffDecodeHeightSelection ==2{_ac .Log .Debug ("\u0053\u0079\u006d\u0062\u006fl\u0020\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u0053e\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u006e\u006f\u0074\u0020\u0070\u0065r\u006d\u0069\u0074\u0074\u0065\u0064",_daad .SdHuffDecodeHeightSelection );
|
|
};if _daad .SdHuffDecodeWidthSelection ==2{_ac .Log .Debug ("\u0053\u0079\u006d\u0062\u006f\u006c\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0044\u0065\u0063\u006f\u0064\u0065\u0020\u0057\u0069\u0064t\u0068\u0020\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0064\u0020\u0076\u0061l\u0075\u0065\u0020\u006e\u006f\u0074 \u0070\u0065r\u006d\u0069t\u0074e\u0064",_daad .SdHuffDecodeWidthSelection );
|
|
};if _daad .IsHuffmanEncoded {if _daad .SdTemplate !=0{_ac .Log .Debug ("\u0053\u0044T\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0062e \u0030\u0029",_daad .SdTemplate );
|
|
};if !_daad .UseRefinementAggregation {if !_daad .UseRefinementAggregation {if _daad ._gebfg {_ac .Log .Debug ("\u0049\u0073\u0043\u006f\u0064\u0069\u006e\u0067C\u006f\u006e\u0074ex\u0074\u0052\u0065\u0074\u0061\u0069n\u0065\u0064\u0020\u003d\u0020\u0074\u0072\u0075\u0065\u0020\u0028\u0073\u0068\u006f\u0075l\u0064\u0020\u0062\u0065\u0020\u0066\u0061\u006cs\u0065\u0029");
|
|
_daad ._gebfg =false ;};if _daad ._acfg {_ac .Log .Debug ("\u0069s\u0043\u006fd\u0069\u006e\u0067\u0043o\u006e\u0074\u0065x\u0074\u0055\u0073\u0065\u0064\u0020\u003d\u0020\u0074ru\u0065\u0020\u0028s\u0068\u006fu\u006c\u0064\u0020\u0062\u0065\u0020f\u0061\u006cs\u0065\u0029");
|
|
_daad ._acfg =false ;};};};}else {if _daad .SdHuffBMSizeSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066B\u004d\u0053\u0069\u007a\u0065\u0053\u0065\u006c\u0065\u0063\u0074\u0069\u006fn\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");
|
|
_daad .SdHuffBMSizeSelection =0;};if _daad .SdHuffDecodeWidthSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0057\u0069\u0064\u0074\u0068\u0053\u0065\u006c\u0065\u0063\u0074\u0069o\u006e\u0020\u0073\u0068\u006fu\u006c\u0064 \u0062\u0065\u0020\u0030");
|
|
_daad .SdHuffDecodeWidthSelection =0;};if _daad .SdHuffDecodeHeightSelection !=0{_ac .Log .Debug ("\u0053\u0064\u0048\u0075\u0066\u0066\u0044\u0065\u0063\u006f\u0064\u0065\u0048e\u0069\u0067\u0068\u0074\u0053\u0065l\u0065\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u0062\u0065\u0020\u0030");
|
|
_daad .SdHuffDecodeHeightSelection =0;};};if !_daad .UseRefinementAggregation {if _daad .SdrTemplate !=0{_ac .Log .Debug ("\u0053\u0044\u0052\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u003d\u0020\u0025\u0064\u0020\u0028s\u0068\u006f\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_daad .SdrTemplate );
|
|
_daad .SdrTemplate =0;};};if !_daad .IsHuffmanEncoded ||!_daad .UseRefinementAggregation {if _daad .SdHuffAggInstanceSelection {_ac .Log .Debug ("\u0053d\u0048\u0075f\u0066\u0041\u0067g\u0049\u006e\u0073\u0074\u0061\u006e\u0063e\u0053\u0065\u006c\u0065\u0063\u0074i\u006f\u006e\u0020\u003d\u0020\u0025\u0064\u0020\u0028\u0073\u0068o\u0075\u006c\u0064\u0020\u0062\u0065\u0020\u0030\u0029",_daad .SdHuffAggInstanceSelection );
|
|
};};return nil ;};type TextRegion struct{_deef _fde .StreamReader ;RegionInfo *RegionSegment ;SbrTemplate int8 ;SbDsOffset int8 ;DefaultPixel int8 ;CombinationOperator _aa .CombinationOperator ;IsTransposed int8 ;ReferenceCorner int16 ;LogSBStrips int16 ;
|
|
UseRefinement bool ;IsHuffmanEncoded bool ;SbHuffRSize int8 ;SbHuffRDY int8 ;SbHuffRDX int8 ;SbHuffRDHeight int8 ;SbHuffRDWidth int8 ;SbHuffDT int8 ;SbHuffDS int8 ;SbHuffFS int8 ;SbrATX []int8 ;SbrATY []int8 ;NumberOfSymbolInstances uint32 ;_bfbbd int64 ;
|
|
SbStrips int8 ;NumberOfSymbols uint32 ;RegionBitmap *_aa .Bitmap ;Symbols []*_aa .Bitmap ;_adffd *_cb .Decoder ;_gagd *GenericRefinementRegion ;_eaed *_cb .DecoderStats ;_dgcaf *_cb .DecoderStats ;_agcab *_cb .DecoderStats ;_effgga *_cb .DecoderStats ;
|
|
_fcff *_cb .DecoderStats ;_fafd *_cb .DecoderStats ;_ddfd *_cb .DecoderStats ;_afgf *_cb .DecoderStats ;_gaacf *_cb .DecoderStats ;_eabd *_cb .DecoderStats ;_afgb *_cb .DecoderStats ;_befd int8 ;_abdbc *_g .FixedSizeTable ;Header *Header ;_gcgg _g .Tabler ;
|
|
_aaff _g .Tabler ;_ccfc _g .Tabler ;_fgde _g .Tabler ;_gbab _g .Tabler ;_fdbef _g .Tabler ;_acfe _g .Tabler ;_bbbc _g .Tabler ;_bdcda ,_aaceb map[int ]int ;_cfbfb []int ;_bggc *_aa .Points ;_dgafa *_aa .Bitmaps ;_bgga *_fe .IntSlice ;_geaf ,_eeaag int ;
|
|
_beeb *_aa .Boxes ;};func (_edf *HalftoneRegion )Init (hd *Header ,r _fde .StreamReader )error {_edf ._eecb =r ;_edf ._adfg =hd ;_edf .RegionSegment =NewRegionSegment (r );return _edf .parseHeader ();};func (_db *GenericRefinementRegion )decodeTypicalPredictedLine (_dba ,_bd ,_fa ,_ged ,_adc ,_cga int )error {_cff :=_dba -int (_db .ReferenceDY );
|
|
_bbf :=_db .ReferenceBitmap .GetByteIndex (0,_cff );_cfe :=_db .RegionBitmap .GetByteIndex (0,_dba );var _dcb error ;switch _db .TemplateID {case 0:_dcb =_db .decodeTypicalPredictedLineTemplate0 (_dba ,_bd ,_fa ,_ged ,_adc ,_cga ,_cfe ,_cff ,_bbf );case 1:_dcb =_db .decodeTypicalPredictedLineTemplate1 (_dba ,_bd ,_fa ,_ged ,_adc ,_cga ,_cfe ,_cff ,_bbf );
|
|
};return _dcb ;};func (_ede *HalftoneRegion )renderPattern (_bgb [][]int )(_baca error ){var _dabb ,_ffge int ;for _dadfa :=0;_dadfa < int (_ede .HGridHeight );_dadfa ++{for _bgbd :=0;_bgbd < int (_ede .HGridWidth );_bgbd ++{_dabb =_ede .computeX (_dadfa ,_bgbd );
|
|
_ffge =_ede .computeY (_dadfa ,_bgbd );_bfbb :=_ede .Patterns [_bgb [_dadfa ][_bgbd ]];if _baca =_aa .Blit (_bfbb ,_ede .HalftoneRegionBitmap ,_dabb +int (_ede .HGridX ),_ffge +int (_ede .HGridY ),_ede .CombinationOperator );_baca !=nil {return _baca ;
|
|
};};};return nil ;};func (_abc *GenericRegion )decodeSLTP ()(int ,error ){switch _abc .GBTemplate {case 0:_abc ._gbdc .SetIndex (0x9B25);case 1:_abc ._gbdc .SetIndex (0x795);case 2:_abc ._gbdc .SetIndex (0xE5);case 3:_abc ._gbdc .SetIndex (0x195);};return _abc ._cbe .DecodeBit (_abc ._gbdc );
|
|
};func (_dff *PageInformationSegment )Init (h *Header ,r _fde .StreamReader )(_dgf error ){_dff ._badgb =r ;if _dgf =_dff .parseHeader ();_dgf !=nil {return _df .Wrap (_dgf ,"P\u0061\u0067\u0065\u0049\u006e\u0066o\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065g\u006d\u0065\u006et\u002eI\u006e\u0069\u0074","");
|
|
};return nil ;};func (_gbac *PatternDictionary )readGrayMax ()error {_fegb ,_cadeg :=_gbac ._aedd .ReadBits (32);if _cadeg !=nil {return _cadeg ;};_gbac .GrayMax =uint32 (_fegb &_d .MaxUint32 );return nil ;};func (_dgbe *SymbolDictionary )huffDecodeBmSize ()(int64 ,error ){if _dgbe ._ebeg ==nil {var (_eded int ;
|
|
_aaee error ;);if _dgbe .SdHuffDecodeHeightSelection ==3{_eded ++;};if _dgbe .SdHuffDecodeWidthSelection ==3{_eded ++;};_dgbe ._ebeg ,_aaee =_dgbe .getUserTable (_eded );if _aaee !=nil {return 0,_aaee ;};};return _dgbe ._ebeg .Decode (_dgbe ._gcca );};
|
|
func (_faag *PageInformationSegment )checkInput ()error {if _faag .PageBMHeight ==_d .MaxInt32 {if !_faag .IsStripe {_ac .Log .Debug ("P\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072\u006da\u0074\u0069\u006f\u006e\u0053\u0065\u0067me\u006e\u0074\u002e\u0049s\u0053\u0074\u0072\u0069\u0070\u0065\u0020\u0073\u0068ou\u006c\u0064 \u0062\u0065\u0020\u0074\u0072\u0075\u0065\u002e");
|
|
};};return nil ;};func (_cgca *SymbolDictionary )setCodingStatistics ()error {if _cgca ._cbca ==nil {_cgca ._cbca =_cb .NewStats (512,1);};if _cgca ._def ==nil {_cgca ._def =_cb .NewStats (512,1);};if _cgca ._fdcg ==nil {_cgca ._fdcg =_cb .NewStats (512,1);
|
|
};if _cgca ._dbbe ==nil {_cgca ._dbbe =_cb .NewStats (512,1);};if _cgca ._bcdg ==nil {_cgca ._bcdg =_cb .NewStats (512,1);};if _cgca .UseRefinementAggregation &&_cgca ._ccfe ==nil {_cgca ._ccfe =_cb .NewStats (1<<uint (_cgca ._defg ),1);_cgca ._aeda =_cb .NewStats (512,1);
|
|
_cgca ._dgd =_cb .NewStats (512,1);};if _cgca ._dbca ==nil {_cgca ._dbca =_cb .NewStats (65536,1);};if _cgca ._cecef ==nil {var _acfb error ;_cgca ._cecef ,_acfb =_cb .New (_cgca ._gcca );if _acfb !=nil {return _acfb ;};};return nil ;};func (_gged *Header )readSegmentPageAssociation (_gfc Documenter ,_deeg _fde .StreamReader ,_gcabf uint64 ,_agba ...int )(_eedb error ){const _aabf ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074P\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061t\u0069\u006f\u006e";
|
|
if !_gged .PageAssociationFieldSize {_bbcf ,_babc :=_deeg .ReadBits (8);if _babc !=nil {return _df .Wrap (_babc ,_aabf ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_gged .PageAssociation =int (_bbcf &0xFF);}else {_dgaf ,_bcab :=_deeg .ReadBits (32);
|
|
if _bcab !=nil {return _df .Wrap (_bcab ,_aabf ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};_gged .PageAssociation =int (_dgaf &_d .MaxInt32 );};if _gcabf ==0{return nil ;};if _gged .PageAssociation !=0{_ccbd ,_ecde :=_gfc .GetPage (_gged .PageAssociation );
|
|
if _ecde !=nil {return _df .Wrap (_ecde ,_aabf ,"\u0061s\u0073\u006f\u0063\u0069a\u0074\u0065\u0064\u0020\u0070a\u0067e\u0020n\u006f\u0074\u0020\u0066\u006f\u0075\u006ed");};var _eeec int ;for _cdcc :=uint64 (0);_cdcc < _gcabf ;_cdcc ++{_eeec =_agba [_cdcc ];
|
|
_gged .RTSegments [_cdcc ],_ecde =_ccbd .GetSegment (_eeec );if _ecde !=nil {var _ddce error ;_gged .RTSegments [_cdcc ],_ddce =_gfc .GetGlobalSegment (_eeec );if _ddce !=nil {return _df .Wrapf (_ecde ,_aabf ,"\u0072\u0065\u0066\u0065\u0072\u0065n\u0063\u0065\u0020s\u0065\u0067\u006de\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075n\u0064\u0020\u0061\u0074\u0020pa\u0067\u0065\u003a\u0020\u0027\u0025\u0064\u0027\u0020\u006e\u006f\u0072\u0020\u0069\u006e\u0020\u0067\u006c\u006f\u0062\u0061\u006c\u0073",_gged .PageAssociation );
|
|
};};};return nil ;};for _dbcc :=uint64 (0);_dbcc < _gcabf ;_dbcc ++{_gged .RTSegments [_dbcc ],_eedb =_gfc .GetGlobalSegment (_agba [_dbcc ]);if _eedb !=nil {return _df .Wrapf (_eedb ,_aabf ,"\u0067\u006c\u006f\u0062\u0061\u006c\u0020\u0073\u0065\u0067m\u0065\u006e\u0074\u003a\u0020\u0027\u0025d\u0027\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064",_agba [_dbcc ]);
|
|
};};return nil ;};func (_gcce *TextRegion )setCodingStatistics ()error {if _gcce ._eaed ==nil {_gcce ._eaed =_cb .NewStats (512,1);};if _gcce ._dgcaf ==nil {_gcce ._dgcaf =_cb .NewStats (512,1);};if _gcce ._agcab ==nil {_gcce ._agcab =_cb .NewStats (512,1);
|
|
};if _gcce ._effgga ==nil {_gcce ._effgga =_cb .NewStats (512,1);};if _gcce ._fcff ==nil {_gcce ._fcff =_cb .NewStats (512,1);};if _gcce ._fafd ==nil {_gcce ._fafd =_cb .NewStats (512,1);};if _gcce ._ddfd ==nil {_gcce ._ddfd =_cb .NewStats (512,1);};if _gcce ._afgf ==nil {_gcce ._afgf =_cb .NewStats (1<<uint (_gcce ._befd ),1);
|
|
};if _gcce ._gaacf ==nil {_gcce ._gaacf =_cb .NewStats (512,1);};if _gcce ._eabd ==nil {_gcce ._eabd =_cb .NewStats (512,1);};if _gcce ._adffd ==nil {var _fgfff error ;_gcce ._adffd ,_fgfff =_cb .New (_gcce ._deef );if _fgfff !=nil {return _fgfff ;};};
|
|
return nil ;};func (_bga *GenericRegion )computeSegmentDataStructure ()error {_bga .DataOffset =_bga ._gbg .StreamPosition ();_bga .DataHeaderLength =_bga .DataOffset -_bga .DataHeaderOffset ;_bga .DataLength =int64 (_bga ._gbg .Length ())-_bga .DataHeaderLength ;
|
|
return nil ;};var (_ Regioner =&TextRegion {};_ Segmenter =&TextRegion {};);func (_feaa *TextRegion )decodeRdh ()(int64 ,error ){const _beae ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064h";if _feaa .IsHuffmanEncoded {if _feaa .SbHuffRDHeight ==3{if _feaa ._gbab ==nil {var (_gbbe int ;
|
|
_caff error ;);if _feaa .SbHuffFS ==3{_gbbe ++;};if _feaa .SbHuffDS ==3{_gbbe ++;};if _feaa .SbHuffDT ==3{_gbbe ++;};if _feaa .SbHuffRDWidth ==3{_gbbe ++;};_feaa ._gbab ,_caff =_feaa .getUserTable (_gbbe );if _caff !=nil {return 0,_df .Wrap (_caff ,_beae ,"");
|
|
};};return _feaa ._gbab .Decode (_feaa ._deef );};_fccg ,_afge :=_g .GetStandardTable (14+int (_feaa .SbHuffRDHeight ));if _afge !=nil {return 0,_df .Wrap (_afge ,_beae ,"");};return _fccg .Decode (_feaa ._deef );};_fadb ,_bgdf :=_feaa ._adffd .DecodeInt (_feaa ._ddfd );
|
|
if _bgdf !=nil {return 0,_df .Wrap (_bgdf ,_beae ,"");};return int64 (_fadb ),nil ;};func (_ddfb *SymbolDictionary )readNumberOfNewSymbols ()error {_aafe ,_bcfd :=_ddfb ._gcca .ReadBits (32);if _bcfd !=nil {return _bcfd ;};_ddfb .NumberOfNewSymbols =uint32 (_aafe &_d .MaxUint32 );
|
|
return nil ;};func (_gfdg *Header )writeSegmentNumber (_eabe _fde .BinaryWriter )(_ecee int ,_deegg error ){_abdb :=make ([]byte ,4);_b .BigEndian .PutUint32 (_abdb ,_gfdg .SegmentNumber );if _ecee ,_deegg =_eabe .Write (_abdb );_deegg !=nil {return 0,_df .Wrap (_deegg ,"\u0048e\u0061\u0064\u0065\u0072.\u0077\u0072\u0069\u0074\u0065S\u0065g\u006de\u006e\u0074\u004e\u0075\u006d\u0062\u0065r","");
|
|
};return _ecee ,nil ;};func (_eefea *PageInformationSegment )encodeFlags (_fbbd _fde .BinaryWriter )(_fdd error ){const _babe ="e\u006e\u0063\u006f\u0064\u0065\u0046\u006c\u0061\u0067\u0073";if _fdd =_fbbd .SkipBits (1);_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0072\u0065\u0073e\u0072\u0076\u0065\u0064\u0020\u0062\u0069\u0074");
|
|
};var _cfbf int ;if _eefea .CombinationOperatorOverrideAllowed (){_cfbf =1;};if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u006f\u0076\u0065\u0072\u0072\u0069\u0064\u0064\u0065\u006e");
|
|
};_cfbf =0;if _eefea ._becga {_cfbf =1;};if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0072e\u0071\u0075\u0069\u0072e\u0073\u0020\u0061\u0075\u0078i\u006ci\u0061r\u0079\u0020\u0062\u0075\u0066\u0066\u0065r");};if _fdd =_fbbd .WriteBit ((int (_eefea ._gadg )>>1)&0x01);
|
|
_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006d\u0062\u0069\u006e\u0061\u0074\u0069\u006fn\u0020\u006f\u0070\u0065\u0072\u0061\u0074o\u0072\u0020\u0066\u0069\u0072\u0073\u0074\u0020\u0062\u0069\u0074");};if _fdd =_fbbd .WriteBit (int (_eefea ._gadg )&0x01);
|
|
_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006db\u0069\u006e\u0061\u0074i\u006f\u006e\u0020\u006f\u0070\u0065\u0072a\u0074\u006f\u0072\u0020\u0073\u0065\u0063\u006f\u006e\u0064\u0020\u0062\u0069\u0074");};_cfbf =int (_eefea .DefaultPixelValue );
|
|
if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0064e\u0066\u0061\u0075\u006c\u0074\u0020\u0070\u0061\u0067\u0065\u0020p\u0069\u0078\u0065\u006c\u0020\u0076\u0061\u006c\u0075\u0065");};_cfbf =0;if _eefea ._ade {_cfbf =1;
|
|
};if _fdd =_fbbd .WriteBit (_cfbf );_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"\u0063\u006f\u006e\u0074ai\u006e\u0073\u0020\u0072\u0065\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074");};_cfbf =0;if _eefea .IsLossless {_cfbf =1;};if _fdd =_fbbd .WriteBit (_cfbf );
|
|
_fdd !=nil {return _df .Wrap (_fdd ,_babe ,"p\u0061\u0067\u0065\u0020\u0069\u0073 \u0065\u0076\u0065\u006e\u0074\u0075\u0061\u006c\u006cy\u0020\u006c\u006fs\u0073l\u0065\u0073\u0073");};return nil ;};func (_bdd *template1 )form (_beb ,_cada ,_gcb ,_gege ,_bac int16 )int16 {return ((_beb &0x02)<<8)|(_cada <<6)|((_gcb &0x03)<<4)|(_gege <<1)|_bac ;
|
|
};func (_dfab *TextRegion )decodeSymbolInstances ()error {_gcabb ,_edac :=_dfab .decodeStripT ();if _edac !=nil {return _edac ;};var (_fgff int64 ;_gdgf uint32 ;);for _gdgf < _dfab .NumberOfSymbolInstances {_gafc ,_fede :=_dfab .decodeDT ();if _fede !=nil {return _fede ;
|
|
};_gcabb +=_gafc ;var _bbgf int64 ;_gdcaa :=true ;_dfab ._bfbbd =0;for {if _gdcaa {_bbgf ,_fede =_dfab .decodeDfs ();if _fede !=nil {return _fede ;};_fgff +=_bbgf ;_dfab ._bfbbd =_fgff ;_gdcaa =false ;}else {_dgfb ,_daed :=_dfab .decodeIds ();if _ad .Is (_daed ,_ag .ErrOOB ){break ;
|
|
};if _daed !=nil {return _daed ;};if _gdgf >=_dfab .NumberOfSymbolInstances {break ;};_dfab ._bfbbd +=_dgfb +int64 (_dfab .SbDsOffset );};_aeef ,_fddb :=_dfab .decodeCurrentT ();if _fddb !=nil {return _fddb ;};_aecfd :=_gcabb +_aeef ;_abde ,_fddb :=_dfab .decodeID ();
|
|
if _fddb !=nil {return _fddb ;};_dfdf ,_fddb :=_dfab .decodeRI ();if _fddb !=nil {return _fddb ;};_caacf ,_fddb :=_dfab .decodeIb (_dfdf ,_abde );if _fddb !=nil {return _fddb ;};if _fddb =_dfab .blit (_caacf ,_aecfd );_fddb !=nil {return _fddb ;};_gdgf ++;
|
|
};};return nil ;};func (_deda *SymbolDictionary )readRegionFlags ()error {var (_aadf uint64 ;_adbb int ;);_ ,_ffdb :=_deda ._gcca .ReadBits (3);if _ffdb !=nil {return _ffdb ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};_deda .SdrTemplate =int8 (_adbb );
|
|
_aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdTemplate =int8 (_aadf &0xf);_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda ._gebfg =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();
|
|
if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda ._acfg =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .SdHuffAggInstanceSelection =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;
|
|
};_deda .SdHuffBMSizeSelection =int8 (_adbb );_aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdHuffDecodeWidthSelection =int8 (_aadf &0xf);_aadf ,_ffdb =_deda ._gcca .ReadBits (2);if _ffdb !=nil {return _ffdb ;};_deda .SdHuffDecodeHeightSelection =int8 (_aadf &0xf);
|
|
_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .UseRefinementAggregation =true ;};_adbb ,_ffdb =_deda ._gcca .ReadBit ();if _ffdb !=nil {return _ffdb ;};if _adbb ==1{_deda .IsHuffmanEncoded =true ;};return nil ;
|
|
};func (_eafa *GenericRegion )overrideAtTemplate2 (_fbea ,_eddb ,_cadc ,_abea ,_fff int )int {_fbea &=0x3FB;if _eafa .GBAtY [0]==0&&_eafa .GBAtX [0]>=-int8 (_fff ){_fbea |=(_abea >>uint (7-(int8 (_fff )+_eafa .GBAtX [0]))&0x1)<<2;}else {_fbea |=int (_eafa .getPixel (_eddb +int (_eafa .GBAtX [0]),_cadc +int (_eafa .GBAtY [0])))<<2;
|
|
};return _fbea ;};func (_dbcf *TableSegment )parseHeader ()error {var (_bebb int ;_ccee uint64 ;_abbe error ;);_bebb ,_abbe =_dbcf ._bcebe .ReadBit ();if _abbe !=nil {return _abbe ;};if _bebb ==1{return _ba .Errorf ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0074\u0061\u0062\u006c\u0065 \u0073\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u0064e\u0066\u0069\u006e\u0069\u0074\u0069\u006f\u006e\u002e\u0020\u0042\u002e\u0032\u002e1\u0020\u0043\u006f\u0064\u0065\u0020\u0054\u0061\u0062\u006c\u0065\u0020\u0066\u006c\u0061\u0067\u0073\u003a\u0020\u0042\u0069\u0074\u0020\u0037\u0020\u006d\u0075\u0073\u0074\u0020b\u0065\u0020\u007a\u0065\u0072\u006f\u002e\u0020\u0057a\u0073\u003a \u0025\u0064",_bebb );
|
|
};if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (3);_abbe !=nil {return _abbe ;};_dbcf ._faeec =(int32 (_ccee )+1)&0xf;if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (3);_abbe !=nil {return _abbe ;};_dbcf ._bece =(int32 (_ccee )+1)&0xf;if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (32);
|
|
_abbe !=nil {return _abbe ;};_dbcf ._abgdd =int32 (_ccee &_d .MaxInt32 );if _ccee ,_abbe =_dbcf ._bcebe .ReadBits (32);_abbe !=nil {return _abbe ;};_dbcf ._fdce =int32 (_ccee &_d .MaxInt32 );return nil ;};func (_ace *Header )referenceSize ()uint {switch {case _ace .SegmentNumber <=255:return 1;
|
|
case _ace .SegmentNumber <=65535:return 2;default:return 4;};};func (_aeaa *SymbolDictionary )decodeHeightClassDeltaHeight ()(int64 ,error ){if _aeaa .IsHuffmanEncoded {return _aeaa .decodeHeightClassDeltaHeightWithHuffman ();};_adccf ,_aefd :=_aeaa ._cecef .DecodeInt (_aeaa ._def );
|
|
if _aefd !=nil {return 0,_aefd ;};return int64 (_adccf ),nil ;};func (_effd *TextRegion )decodeRdx ()(int64 ,error ){const _fcea ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064x";if _effd .IsHuffmanEncoded {if _effd .SbHuffRDX ==3{if _effd ._fdbef ==nil {var (_agcfg int ;
|
|
_febbc error ;);if _effd .SbHuffFS ==3{_agcfg ++;};if _effd .SbHuffDS ==3{_agcfg ++;};if _effd .SbHuffDT ==3{_agcfg ++;};if _effd .SbHuffRDWidth ==3{_agcfg ++;};if _effd .SbHuffRDHeight ==3{_agcfg ++;};_effd ._fdbef ,_febbc =_effd .getUserTable (_agcfg );
|
|
if _febbc !=nil {return 0,_df .Wrap (_febbc ,_fcea ,"");};};return _effd ._fdbef .Decode (_effd ._deef );};_faagf ,_dcfa :=_g .GetStandardTable (14+int (_effd .SbHuffRDX ));if _dcfa !=nil {return 0,_df .Wrap (_dcfa ,_fcea ,"");};return _faagf .Decode (_effd ._deef );
|
|
};_edcg ,_dabd :=_effd ._adffd .DecodeInt (_effd ._gaacf );if _dabd !=nil {return 0,_df .Wrap (_dabd ,_fcea ,"");};return int64 (_edcg ),nil ;};func (_cdcg *Header )readSegmentNumber (_cgg _fde .StreamReader )error {const _gdca ="\u0072\u0065\u0061\u0064\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u004eu\u006d\u0062\u0065\u0072";
|
|
_dabe :=make ([]byte ,4);_ ,_edeg :=_cgg .Read (_dabe );if _edeg !=nil {return _df .Wrap (_edeg ,_gdca ,"");};_cdcg .SegmentNumber =_b .BigEndian .Uint32 (_dabe );return nil ;};func (_cgae *SymbolDictionary )decodeAggregate (_dabbe ,_fagf uint32 )error {var (_dfbd int64 ;
|
|
_dfba error ;);if _cgae .IsHuffmanEncoded {_dfbd ,_dfba =_cgae .huffDecodeRefAggNInst ();if _dfba !=nil {return _dfba ;};}else {_dfaa ,_fbag :=_cgae ._cecef .DecodeInt (_cgae ._dbbe );if _fbag !=nil {return _fbag ;};_dfbd =int64 (_dfaa );};if _dfbd > 1{return _cgae .decodeThroughTextRegion (_dabbe ,_fagf ,uint32 (_dfbd ));
|
|
}else if _dfbd ==1{return _cgae .decodeRefinedSymbol (_dabbe ,_fagf );};return nil ;};func (_bdeff *SymbolDictionary )decodeDirectlyThroughGenericRegion (_aace ,_abee uint32 )error {if _bdeff ._baeb ==nil {_bdeff ._baeb =NewGenericRegion (_bdeff ._gcca );
|
|
};_bdeff ._baeb .setParametersWithAt (false ,byte (_bdeff .SdTemplate ),false ,false ,_bdeff .SdATX ,_bdeff .SdATY ,_aace ,_abee ,_bdeff ._dbca ,_bdeff ._cecef );return _bdeff .addSymbol (_bdeff ._baeb );};func (_cagee *TextRegion )Encode (w _fde .BinaryWriter )(_efac int ,_eeed error ){const _eede ="\u0054\u0065\u0078\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u002e\u0045n\u0063\u006f\u0064\u0065";
|
|
if _efac ,_eeed =_cagee .RegionInfo .Encode (w );_eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};var _afbc int ;if _afbc ,_eeed =_cagee .encodeFlags (w );_eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};_efac +=_afbc ;if _afbc ,_eeed =_cagee .encodeSymbols (w );
|
|
_eeed !=nil {return _efac ,_df .Wrap (_eeed ,_eede ,"");};_efac +=_afbc ;return _efac ,nil ;};func (_geegc *TableSegment )StreamReader ()_fde .StreamReader {return _geegc ._bcebe };func (_gbf *template1 )setIndex (_ffa *_cb .DecoderStats ){_ffa .SetIndex (0x080)};
|
|
func (_gfcc *Header )writeSegmentPageAssociation (_gggf _fde .BinaryWriter )(_eeaa int ,_dcae error ){const _fgd ="w\u0072\u0069\u0074\u0065\u0053\u0065g\u006d\u0065\u006e\u0074\u0050\u0061\u0067\u0065\u0041s\u0073\u006f\u0063i\u0061t\u0069\u006f\u006e";
|
|
if _gfcc .pageSize ()!=4{if _dcae =_gggf .WriteByte (byte (_gfcc .PageAssociation ));_dcae !=nil {return 0,_df .Wrap (_dcae ,_fgd ,"\u0070\u0061\u0067\u0065\u0053\u0069\u007a\u0065\u0020\u0021\u003d\u0020\u0034");};return 1,nil ;};_feca :=make ([]byte ,4);
|
|
_b .BigEndian .PutUint32 (_feca ,uint32 (_gfcc .PageAssociation ));if _eeaa ,_dcae =_gggf .Write (_feca );_dcae !=nil {return 0,_df .Wrap (_dcae ,_fgd ,"\u0034 \u0062y\u0074\u0065\u0020\u0070\u0061g\u0065\u0020n\u0075\u006d\u0062\u0065\u0072");};return _eeaa ,nil ;
|
|
};func (_dcgg *SymbolDictionary )Encode (w _fde .BinaryWriter )(_gfaf int ,_cbfe error ){const _cfddd ="\u0053\u0079\u006dbo\u006c\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0045\u006e\u0063\u006f\u0064\u0065";if _dcgg ==nil {return 0,_df .Error (_cfddd ,"\u0073\u0079m\u0062\u006f\u006c\u0020\u0064\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u006e\u006f\u0074\u0020\u0064\u0065\u0066in\u0065\u0064");
|
|
};if _gfaf ,_cbfe =_dcgg .encodeFlags (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_bafd ,_cbfe :=_dcgg .encodeATFlags (w );if _cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeRefinementATFlags (w );
|
|
_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeNumSyms (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");};_gfaf +=_bafd ;if _bafd ,_cbfe =_dcgg .encodeSymbols (w );_cbfe !=nil {return _gfaf ,_df .Wrap (_cbfe ,_cfddd ,"");
|
|
};_gfaf +=_bafd ;return _gfaf ,nil ;};func (_abggc *TextRegion )decodeDT ()(_befb int64 ,_bbgd error ){if _abggc .IsHuffmanEncoded {if _abggc .SbHuffDT ==3{_befb ,_bbgd =_abggc ._ccfc .Decode (_abggc ._deef );if _bbgd !=nil {return 0,_bbgd ;};}else {var _fcfc _g .Tabler ;
|
|
_fcfc ,_bbgd =_g .GetStandardTable (11+int (_abggc .SbHuffDT ));if _bbgd !=nil {return 0,_bbgd ;};_befb ,_bbgd =_fcfc .Decode (_abggc ._deef );if _bbgd !=nil {return 0,_bbgd ;};};}else {var _efab int32 ;_efab ,_bbgd =_abggc ._adffd .DecodeInt (_abggc ._eaed );
|
|
if _bbgd !=nil {return ;};_befb =int64 (_efab );};_befb *=int64 (_abggc .SbStrips );return _befb ,nil ;};func (_gfcg *TextRegion )readHuffmanFlags ()error {var (_eecf int ;_dcdd uint64 ;_aceb error ;);_ ,_aceb =_gfcg ._deef .ReadBit ();if _aceb !=nil {return _aceb ;
|
|
};_eecf ,_aceb =_gfcg ._deef .ReadBit ();if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRSize =int8 (_eecf );_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDY =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);
|
|
if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDX =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffRDHeight =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;
|
|
};_gfcg .SbHuffRDWidth =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffDT =int8 (_dcdd )&0xf;_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffDS =int8 (_dcdd )&0xf;
|
|
_dcdd ,_aceb =_gfcg ._deef .ReadBits (2);if _aceb !=nil {return _aceb ;};_gfcg .SbHuffFS =int8 (_dcdd )&0xf;return nil ;};func (_fefa *PageInformationSegment )readRequiresAuxiliaryBuffer ()error {_cbcb ,_abgd :=_fefa ._badgb .ReadBit ();if _abgd !=nil {return _abgd ;
|
|
};if _cbcb ==1{_fefa ._becga =true ;};return nil ;};func (_ecea *Header )String ()string {_ffcd :=&_c .Builder {};_ffcd .WriteString ("\u000a[\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045A\u0044\u0045\u0052\u005d\u000a");_ffcd .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0053\u0065gm\u0065n\u0074\u004e\u0075\u006d\u0062e\u0072\u003a\u0020\u0025\u0076\u000a",_ecea .SegmentNumber ));
|
|
_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020T\u0079\u0070\u0065\u003a\u0020\u0025\u0076\u000a",_ecea .Type ));_ffcd .WriteString (_ba .Sprintf ("\u0009-\u0020R\u0065\u0074\u0061\u0069\u006eF\u006c\u0061g\u003a\u0020\u0025\u0076\u000a",_ecea .RetainFlag ));
|
|
_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020Pa\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074\u0069\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_ecea .PageAssociation ));_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0050\u0061\u0067\u0065\u0041\u0073\u0073\u006f\u0063\u0069\u0061\u0074i\u006fn\u0046\u0069\u0065\u006c\u0064\u0053\u0069\u007a\u0065\u003a\u0020\u0025\u0076\u000a",_ecea .PageAssociationFieldSize ));
|
|
_ffcd .WriteString ("\u0009-\u0020R\u0054\u0053\u0045\u0047\u004d\u0045\u004e\u0054\u0053\u003a\u000a");for _ ,_cbecg :=range _ecea .RTSNumbers {_ffcd .WriteString (_ba .Sprintf ("\u0009\t\u002d\u0020\u0025\u0064\u000a",_cbecg ));};_ffcd .WriteString (_ba .Sprintf ("\t\u002d \u0048\u0065\u0061\u0064\u0065\u0072\u004c\u0065n\u0067\u0074\u0068\u003a %\u0076\u000a",_ecea .HeaderLength ));
|
|
_ffcd .WriteString (_ba .Sprintf ("\u0009-\u0020\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061L\u0065n\u0067\u0074\u0068\u003a\u0020\u0025\u0076\n",_ecea .SegmentDataLength ));_ffcd .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074D\u0061\u0074\u0061\u0053\u0074\u0061\u0072t\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0076\u000a",_ecea .SegmentDataStartOffset ));
|
|
return _ffcd .String ();};var _ _g .BasicTabler =&TableSegment {};const (TSymbolDictionary Type =0;TIntermediateTextRegion Type =4;TImmediateTextRegion Type =6;TImmediateLosslessTextRegion Type =7;TPatternDictionary Type =16;TIntermediateHalftoneRegion Type =20;
|
|
TImmediateHalftoneRegion Type =22;TImmediateLosslessHalftoneRegion Type =23;TIntermediateGenericRegion Type =36;TImmediateGenericRegion Type =38;TImmediateLosslessGenericRegion Type =39;TIntermediateGenericRefinementRegion Type =40;TImmediateGenericRefinementRegion Type =42;
|
|
TImmediateLosslessGenericRefinementRegion Type =43;TPageInformation Type =48;TEndOfPage Type =49;TEndOfStrip Type =50;TEndOfFile Type =51;TProfiles Type =52;TTables Type =53;TExtension Type =62;TBitmap Type =70;);func (_edabe *TextRegion )GetRegionInfo ()*RegionSegment {return _edabe .RegionInfo };
|
|
func (_dbccb *TableSegment )HtPS ()int32 {return _dbccb ._bece };func (_acdb *PatternDictionary )readPatternWidthAndHeight ()error {_eeeb ,_bcgbb :=_acdb ._aedd .ReadByte ();if _bcgbb !=nil {return _bcgbb ;};_acdb .HdpWidth =_eeeb ;_eeeb ,_bcgbb =_acdb ._aedd .ReadByte ();
|
|
if _bcgbb !=nil {return _bcgbb ;};_acdb .HdpHeight =_eeeb ;return nil ;};func (_ccca *TableSegment )HtOOB ()int32 {return _ccca ._affd };type SegmentEncoder interface{Encode (_ffgd _fde .BinaryWriter )(_gbca int ,_gafd error );};type OrganizationType uint8 ;
|
|
func (_eda *HalftoneRegion )computeSegmentDataStructure ()error {_eda .DataOffset =_eda ._eecb .StreamPosition ();_eda .DataHeaderLength =_eda .DataOffset -_eda .DataHeaderOffset ;_eda .DataLength =int64 (_eda ._eecb .Length ())-_eda .DataHeaderLength ;
|
|
return nil ;};func (_bggd *SymbolDictionary )setRetainedCodingContexts (_fffga *SymbolDictionary ){_bggd ._cecef =_fffga ._cecef ;_bggd .IsHuffmanEncoded =_fffga .IsHuffmanEncoded ;_bggd .UseRefinementAggregation =_fffga .UseRefinementAggregation ;_bggd .SdTemplate =_fffga .SdTemplate ;
|
|
_bggd .SdrTemplate =_fffga .SdrTemplate ;_bggd .SdATX =_fffga .SdATX ;_bggd .SdATY =_fffga .SdATY ;_bggd .SdrATX =_fffga .SdrATX ;_bggd .SdrATY =_fffga .SdrATY ;_bggd ._dbca =_fffga ._dbca ;};func (_dcgfc *PageInformationSegment )readContainsRefinement ()error {_bbab ,_bdbd :=_dcgfc ._badgb .ReadBit ();
|
|
if _bdbd !=nil {return _bdbd ;};if _bbab ==1{_dcgfc ._ade =true ;};return nil ;};func (_fdda *SymbolDictionary )setExportedSymbols (_eecgd []int ){for _egcc :=uint32 (0);_egcc < _fdda ._fdcd +_fdda .NumberOfNewSymbols ;_egcc ++{if _eecgd [_egcc ]==1{var _adgec *_aa .Bitmap ;
|
|
if _egcc < _fdda ._fdcd {_adgec =_fdda ._gdf [_egcc ];}else {_adgec =_fdda ._fefd [_egcc -_fdda ._fdcd ];};_ac .Log .Trace ("\u005bS\u0059\u004dB\u004f\u004c\u002d\u0044I\u0043\u0054\u0049O\u004e\u0041\u0052\u0059\u005d\u0020\u0041\u0064\u0064 E\u0078\u0070\u006fr\u0074\u0065d\u0053\u0079\u006d\u0062\u006f\u006c:\u0020\u0027%\u0073\u0027",_adgec );
|
|
_fdda ._gacc =append (_fdda ._gacc ,_adgec );};};};func (_dbgg *RegionSegment )String ()string {_cadae :=&_c .Builder {};_cadae .WriteString ("\u0009[\u0052E\u0047\u0049\u004f\u004e\u0020S\u0045\u0047M\u0045\u004e\u0054\u005d\u000a");_cadae .WriteString (_ba .Sprintf ("\t\u0009\u002d\u0020\u0042\u0069\u0074m\u0061\u0070\u0020\u0028\u0077\u0069d\u0074\u0068\u002c\u0020\u0068\u0065\u0069g\u0068\u0074\u0029\u0020\u005b\u0025\u0064\u0078\u0025\u0064]\u000a",_dbgg .BitmapWidth ,_dbgg .BitmapHeight ));
|
|
_cadae .WriteString (_ba .Sprintf ("\u0009\u0009\u002d\u0020L\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u0020\u0028\u0078,\u0079)\u003a\u0020\u005b\u0025\u0064\u002c\u0025d\u005d\u000a",_dbgg .XLocation ,_dbgg .YLocation ));_cadae .WriteString (_ba .Sprintf ("\t\u0009\u002d\u0020\u0043\u006f\u006db\u0069\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070e\u0072\u0061\u0074o\u0072:\u0020\u0025\u0073",_dbgg .CombinaionOperator ));
|
|
return _cadae .String ();};func (_aeag *TableSegment )HtRS ()int32 {return _aeag ._faeec };func (_efg *GenericRegion )GetRegionInfo ()*RegionSegment {return _efg .RegionSegment };func NewHeader (d Documenter ,r _fde .StreamReader ,offset int64 ,organizationType OrganizationType )(*Header ,error ){_dfde :=&Header {Reader :r };
|
|
if _bcda :=_dfde .parse (d ,r ,offset ,organizationType );_bcda !=nil {return nil ,_df .Wrap (_bcda ,"\u004ee\u0077\u0048\u0065\u0061\u0064\u0065r","");};return _dfde ,nil ;};func (_egg *RegionSegment )readCombinationOperator ()error {_bbfa ,_cefg :=_egg ._egce .ReadBits (3);
|
|
if _cefg !=nil {return _cefg ;};_egg .CombinaionOperator =_aa .CombinationOperator (_bbfa &0xF);return nil ;};func (_bdbg *SymbolDictionary )GetDictionary ()([]*_aa .Bitmap ,error ){_ac .Log .Trace ("\u005b\u0053\u0059\u004d\u0042\u004f\u004c-\u0044\u0049\u0043T\u0049\u004f\u004e\u0041R\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");
|
|
defer func (){_ac .Log .Trace ("\u005b\u0053\u0059M\u0042\u004f\u004c\u002d\u0044\u0049\u0043\u0054\u0049\u004f\u004e\u0041\u0052\u0059\u005d\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079 \u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064");
|
|
_ac .Log .Trace ("\u005b\u0053Y\u004d\u0042\u004f\u004c\u002dD\u0049\u0043\u0054\u0049\u004fN\u0041\u0052\u0059\u005d\u0020\u0044\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002e\u0020\u000a\u0045\u0078\u003a\u0020\u0027\u0025\u0073\u0027\u002c\u0020\u000a\u006e\u0065\u0077\u003a\u0027\u0025\u0073\u0027",_bdbg ._gacc ,_bdbg ._fefd );
|
|
}();if _bdbg ._gacc ==nil {var _daga error ;if _bdbg .UseRefinementAggregation {_bdbg ._defg =_bdbg .getSbSymCodeLen ();};if !_bdbg .IsHuffmanEncoded {if _daga =_bdbg .setCodingStatistics ();_daga !=nil {return nil ,_daga ;};};_bdbg ._fefd =make ([]*_aa .Bitmap ,_bdbg .NumberOfNewSymbols );
|
|
var _ecdeb []int ;if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {_ecdeb =make ([]int ,_bdbg .NumberOfNewSymbols );};if _daga =_bdbg .setSymbolsArray ();_daga !=nil {return nil ,_daga ;};var _dgfd ,_fcfac int64 ;_bdbg ._ddad =0;for _bdbg ._ddad < _bdbg .NumberOfNewSymbols {_fcfac ,_daga =_bdbg .decodeHeightClassDeltaHeight ();
|
|
if _daga !=nil {return nil ,_daga ;};_dgfd +=_fcfac ;var _gaab ,_afca uint32 ;_bdfaf :=int64 (_bdbg ._ddad );for {var _faec int64 ;_faec ,_daga =_bdbg .decodeDifferenceWidth ();if _ad .Is (_daga ,_ag .ErrOOB ){break ;};if _daga !=nil {return nil ,_daga ;
|
|
};if _bdbg ._ddad >=_bdbg .NumberOfNewSymbols {break ;};_gaab +=uint32 (_faec );_afca +=_gaab ;if !_bdbg .IsHuffmanEncoded ||_bdbg .UseRefinementAggregation {if !_bdbg .UseRefinementAggregation {_daga =_bdbg .decodeDirectlyThroughGenericRegion (_gaab ,uint32 (_dgfd ));
|
|
if _daga !=nil {return nil ,_daga ;};}else {_daga =_bdbg .decodeAggregate (_gaab ,uint32 (_dgfd ));if _daga !=nil {return nil ,_daga ;};};}else if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {_ecdeb [_bdbg ._ddad ]=int (_gaab );};_bdbg ._ddad ++;
|
|
};if _bdbg .IsHuffmanEncoded &&!_bdbg .UseRefinementAggregation {var _fdbc int64 ;if _bdbg .SdHuffBMSizeSelection ==0{var _cdgb _g .Tabler ;_cdgb ,_daga =_g .GetStandardTable (1);if _daga !=nil {return nil ,_daga ;};_fdbc ,_daga =_cdgb .Decode (_bdbg ._gcca );
|
|
if _daga !=nil {return nil ,_daga ;};}else {_fdbc ,_daga =_bdbg .huffDecodeBmSize ();if _daga !=nil {return nil ,_daga ;};};_bdbg ._gcca .Align ();var _cage *_aa .Bitmap ;_cage ,_daga =_bdbg .decodeHeightClassCollectiveBitmap (_fdbc ,uint32 (_dgfd ),_afca );
|
|
if _daga !=nil {return nil ,_daga ;};_daga =_bdbg .decodeHeightClassBitmap (_cage ,_bdfaf ,int (_dgfd ),_ecdeb );if _daga !=nil {return nil ,_daga ;};};};_gcccf ,_daga :=_bdbg .getToExportFlags ();if _daga !=nil {return nil ,_daga ;};_bdbg .setExportedSymbols (_gcccf );
|
|
};return _bdbg ._gacc ,nil ;};func (_cbd *Header )readDataStartOffset (_bcfe _fde .StreamReader ,_cabf OrganizationType ){if _cabf ==OSequential {_cbd .SegmentDataStartOffset =uint64 (_bcfe .StreamPosition ());};};func (_efgc *PatternDictionary )Init (h *Header ,r _fde .StreamReader )error {_efgc ._aedd =r ;
|
|
return _efgc .parseHeader ();};func (_bafdd *TextRegion )readAmountOfSymbolInstances ()error {_fbffg ,_bbac :=_bafdd ._deef .ReadBits (32);if _bbac !=nil {return _bbac ;};_bafdd .NumberOfSymbolInstances =uint32 (_fbffg &_d .MaxUint32 );_ecag :=_bafdd .RegionInfo .BitmapWidth *_bafdd .RegionInfo .BitmapHeight ;
|
|
if _ecag < _bafdd .NumberOfSymbolInstances {_ac .Log .Debug ("\u004c\u0069\u006d\u0069t\u0069\u006e\u0067\u0020t\u0068\u0065\u0020n\u0075\u006d\u0062\u0065\u0072\u0020o\u0066\u0020d\u0065\u0063\u006f\u0064e\u0064\u0020\u0073\u0079m\u0062\u006f\u006c\u0020\u0069n\u0073\u0074\u0061\u006e\u0063\u0065\u0073 \u0074\u006f\u0020\u006f\u006ee\u0020\u0070\u0065\u0072\u0020\u0070\u0069\u0078\u0065l\u0020\u0028\u0020\u0025\u0064\u0020\u0069\u006e\u0073\u0074\u0065\u0061\u0064\u0020\u006f\u0066\u0020\u0025\u0064\u0029",_ecag ,_bafdd .NumberOfSymbolInstances );
|
|
_bafdd .NumberOfSymbolInstances =_ecag ;};return nil ;};func (_dbgdg *TextRegion )initSymbols ()error {const _ffag ="i\u006e\u0069\u0074\u0053\u0079\u006d\u0062\u006f\u006c\u0073";for _ ,_dgeb :=range _dbgdg .Header .RTSegments {if _dgeb ==nil {return _df .Error (_ffag ,"\u006e\u0069\u006c\u0020\u0073\u0065\u0067\u006de\u006e\u0074\u0020pr\u006f\u0076\u0069\u0064\u0065\u0064 \u0066\u006f\u0072\u0020\u0074\u0068\u0065\u0020\u0074\u0065\u0078\u0074\u0020\u0072\u0065g\u0069\u006f\u006e\u0020\u0053\u0079\u006d\u0062o\u006c\u0073");
|
|
};if _dgeb .Type ==0{_fgfd ,_geac :=_dgeb .GetSegmentData ();if _geac !=nil {return _df .Wrap (_geac ,_ffag ,"");};_dbfag ,_fdbca :=_fgfd .(*SymbolDictionary );if !_fdbca {return _df .Error (_ffag ,"\u0072e\u0066\u0065r\u0072\u0065\u0064 \u0054\u006f\u0020\u0053\u0065\u0067\u006de\u006e\u0074\u0020\u0069\u0073\u0020n\u006f\u0074\u0020\u0061\u0020\u0053\u0079\u006d\u0062\u006f\u006cD\u0069\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079");
|
|
};_dbfag ._ccfe =_dbgdg ._afgf ;_cca ,_geac :=_dbfag .GetDictionary ();if _geac !=nil {return _df .Wrap (_geac ,_ffag ,"");};_dbgdg .Symbols =append (_dbgdg .Symbols ,_cca ...);};};_dbgdg .NumberOfSymbols =uint32 (len (_dbgdg .Symbols ));return nil ;};
|
|
func (_ga *GenericRefinementRegion )GetRegionInfo ()*RegionSegment {return _ga .RegionInfo };func (_baff *GenericRegion )copyLineAbove (_aead int )error {_gbdd :=_aead *_baff .Bitmap .RowStride ;_ebb :=_gbdd -_baff .Bitmap .RowStride ;for _accg :=0;_accg < _baff .Bitmap .RowStride ;
|
|
_accg ++{_agbe ,_fae :=_baff .Bitmap .GetByte (_ebb );if _fae !=nil {return _fae ;};_ebb ++;if _fae =_baff .Bitmap .SetByte (_gbdd ,_agbe );_fae !=nil {return _fae ;};_gbdd ++;};return nil ;};func (_cdbc *TextRegion )setParameters (_adaf *_cb .Decoder ,_bafg ,_ggab bool ,_gbfc ,_agfe uint32 ,_ddbe uint32 ,_ffaf int8 ,_ccfff uint32 ,_aacf int8 ,_aag _aa .CombinationOperator ,_caca int8 ,_ggaba int16 ,_ebgb ,_ecfbd ,_agbb ,_efgea ,_edgfd ,_bcfec ,_cbde ,_cgabe ,_acccb ,_ebgd int8 ,_cabb ,_edceb []int8 ,_gafca []*_aa .Bitmap ,_aeeag int8 ){_cdbc ._adffd =_adaf ;
|
|
_cdbc .IsHuffmanEncoded =_bafg ;_cdbc .UseRefinement =_ggab ;_cdbc .RegionInfo .BitmapWidth =_gbfc ;_cdbc .RegionInfo .BitmapHeight =_agfe ;_cdbc .NumberOfSymbolInstances =_ddbe ;_cdbc .SbStrips =_ffaf ;_cdbc .NumberOfSymbols =_ccfff ;_cdbc .DefaultPixel =_aacf ;
|
|
_cdbc .CombinationOperator =_aag ;_cdbc .IsTransposed =_caca ;_cdbc .ReferenceCorner =_ggaba ;_cdbc .SbDsOffset =_ebgb ;_cdbc .SbHuffFS =_ecfbd ;_cdbc .SbHuffDS =_agbb ;_cdbc .SbHuffDT =_efgea ;_cdbc .SbHuffRDWidth =_edgfd ;_cdbc .SbHuffRDHeight =_bcfec ;
|
|
_cdbc .SbHuffRSize =_acccb ;_cdbc .SbHuffRDX =_cbde ;_cdbc .SbHuffRDY =_cgabe ;_cdbc .SbrTemplate =_ebgd ;_cdbc .SbrATX =_cabb ;_cdbc .SbrATY =_edceb ;_cdbc .Symbols =_gafca ;_cdbc ._befd =_aeeag ;};func (_ffcc *SymbolDictionary )InitEncode (symbols *_aa .Bitmaps ,symbolList []int ,symbolMap map[int ]int ,unborderSymbols bool )error {const _gcg ="S\u0079\u006d\u0062\u006f\u006c\u0044i\u0063\u0074\u0069\u006f\u006e\u0061\u0072\u0079\u002eI\u006e\u0069\u0074E\u006ec\u006f\u0064\u0065";
|
|
_ffcc .SdATX =[]int8 {3,-3,2,-2};_ffcc .SdATY =[]int8 {-1,-1,-2,-2};_ffcc ._fege =symbols ;_ffcc ._cbbae =make ([]int ,len (symbolList ));copy (_ffcc ._cbbae ,symbolList );if len (_ffcc ._cbbae )!=_ffcc ._fege .Size (){return _df .Error (_gcg ,"s\u0079\u006d\u0062\u006f\u006c\u0073\u0020\u0061\u006e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u004ci\u0073\u0074\u0020\u006f\u0066\u0020\u0064\u0069\u0066\u0066er\u0065\u006e\u0074 \u0073i\u007a\u0065");
|
|
};_ffcc .NumberOfNewSymbols =uint32 (symbols .Size ());_ffcc .NumberOfExportedSymbols =uint32 (symbols .Size ());_ffcc ._ecdcc =symbolMap ;_ffcc ._dbd =unborderSymbols ;return nil ;};func (_bffd *PatternDictionary )extractPatterns (_dcdf *_aa .Bitmap )error {var _fcfa int ;
|
|
_bdef :=make ([]*_aa .Bitmap ,_bffd .GrayMax +1);for _fcfa <=int (_bffd .GrayMax ){_ggfeb :=int (_bffd .HdpWidth )*_fcfa ;_afaf :=_f .Rect (_ggfeb ,0,_ggfeb +int (_bffd .HdpWidth ),int (_bffd .HdpHeight ));_fbff ,_eebg :=_aa .Extract (_afaf ,_dcdf );if _eebg !=nil {return _eebg ;
|
|
};_bdef [_fcfa ]=_fbff ;_fcfa ++;};_bffd .Patterns =_bdef ;return nil ;};func (_cce *HalftoneRegion )shiftAndFill (_edab int )int {_edab >>=8;if _edab < 0{_edbg :=int (_d .Log (float64 (_dcbeg (_edab )))/_d .Log (2));_faa :=31-_edbg ;for _cdec :=1;_cdec < _faa ;
|
|
_cdec ++{_edab |=1<<uint (31-_cdec );};};return _edab ;};func (_gefg *PageInformationSegment )Size ()int {return 19};func (_abcd *PageInformationSegment )parseHeader ()(_ebdb error ){_ac .Log .Trace ("\u005b\u0050\u0061\u0067\u0065I\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e\u0053\u0065\u0067m\u0065\u006e\u0074\u005d\u0020\u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065\u0061\u0064\u0065\u0072\u002e\u002e\u002e");
|
|
defer func (){var _abfe ="[\u0050\u0061\u0067\u0065\u0049\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0053\u0065gm\u0065\u006e\u0074\u005d \u0050\u0061\u0072\u0073\u0069\u006e\u0067\u0048\u0065ad\u0065\u0072 \u0046\u0069\u006e\u0069\u0073\u0068\u0065\u0064";
|
|
if _ebdb !=nil {_abfe +="\u0020\u0077\u0069t\u0068\u0020\u0065\u0072\u0072\u006f\u0072\u0020"+_ebdb .Error ();}else {_abfe +="\u0020\u0073\u0075\u0063\u0063\u0065\u0073\u0073\u0066\u0075\u006c\u006c\u0079";};_ac .Log .Trace (_abfe );}();if _ebdb =_abcd .readWidthAndHeight ();
|
|
_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readResolution ();_ebdb !=nil {return _ebdb ;};_ ,_ebdb =_abcd ._badgb .ReadBit ();if _ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readCombinationOperatorOverrideAllowed ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readRequiresAuxiliaryBuffer ();
|
|
_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readCombinationOperator ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readDefaultPixelValue ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readContainsRefinement ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readIsLossless ();
|
|
_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readIsStriped ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .readMaxStripeSize ();_ebdb !=nil {return _ebdb ;};if _ebdb =_abcd .checkInput ();_ebdb !=nil {return _ebdb ;};_ac .Log .Trace ("\u0025\u0073",_abcd );
|
|
return nil ;};func (_gfcb *TextRegion )GetRegionBitmap ()(*_aa .Bitmap ,error ){if _gfcb .RegionBitmap !=nil {return _gfcb .RegionBitmap ,nil ;};if !_gfcb .IsHuffmanEncoded {if _beaf :=_gfcb .setCodingStatistics ();_beaf !=nil {return nil ,_beaf ;};};if _ggbe :=_gfcb .createRegionBitmap ();
|
|
_ggbe !=nil {return nil ,_ggbe ;};if _fbad :=_gfcb .decodeSymbolInstances ();_fbad !=nil {return nil ,_fbad ;};return _gfcb .RegionBitmap ,nil ;};func (_fdbga *SymbolDictionary )decodeThroughTextRegion (_bbeb ,_dfeg ,_acgg uint32 )error {if _fdbga ._edef ==nil {_fdbga ._edef =_cfbc (_fdbga ._gcca ,nil );
|
|
_fdbga ._edef .setContexts (_fdbga ._dbca ,_cb .NewStats (512,1),_cb .NewStats (512,1),_cb .NewStats (512,1),_cb .NewStats (512,1),_fdbga ._ccfe ,_cb .NewStats (512,1),_cb .NewStats (512,1),_cb .NewStats (512,1),_cb .NewStats (512,1));};if _fcfg :=_fdbga .setSymbolsArray ();
|
|
_fcfg !=nil {return _fcfg ;};_fdbga ._edef .setParameters (_fdbga ._cecef ,_fdbga .IsHuffmanEncoded ,true ,_bbeb ,_dfeg ,_acgg ,1,_fdbga ._fdcd +_fdbga ._ddad ,0,0,0,1,0,0,0,0,0,0,0,0,0,_fdbga .SdrTemplate ,_fdbga .SdrATX ,_fdbga .SdrATY ,_fdbga ._feeae ,_fdbga ._defg );
|
|
return _fdbga .addSymbol (_fdbga ._edef );};func (_edca *TextRegion )decodeRI ()(int64 ,error ){if !_edca .UseRefinement {return 0,nil ;};if _edca .IsHuffmanEncoded {_abcg ,_eecgg :=_edca ._deef .ReadBit ();return int64 (_abcg ),_eecgg ;};_acdba ,_eaca :=_edca ._adffd .DecodeInt (_edca ._fcff );
|
|
return int64 (_acdba ),_eaca ;};func (_cgge *SymbolDictionary )decodeNewSymbols (_fced ,_dbfa uint32 ,_fcb *_aa .Bitmap ,_abdd ,_faeb int32 )error {if _cgge ._aebg ==nil {_cgge ._aebg =_eae (_cgge ._gcca ,nil );if _cgge ._cecef ==nil {var _dfgb error ;
|
|
_cgge ._cecef ,_dfgb =_cb .New (_cgge ._gcca );if _dfgb !=nil {return _dfgb ;};};if _cgge ._dbca ==nil {_cgge ._dbca =_cb .NewStats (65536,1);};};_cgge ._aebg .setParameters (_cgge ._dbca ,_cgge ._cecef ,_cgge .SdrTemplate ,_fced ,_dbfa ,_fcb ,_abdd ,_faeb ,false ,_cgge .SdrATX ,_cgge .SdrATY );
|
|
return _cgge .addSymbol (_cgge ._aebg );};func (_acdg *SymbolDictionary )decodeHeightClassDeltaHeightWithHuffman ()(int64 ,error ){switch _acdg .SdHuffDecodeHeightSelection {case 0:_fdbe ,_cegg :=_g .GetStandardTable (4);if _cegg !=nil {return 0,_cegg ;
|
|
};return _fdbe .Decode (_acdg ._gcca );case 1:_fedg ,_ceef :=_g .GetStandardTable (5);if _ceef !=nil {return 0,_ceef ;};return _fedg .Decode (_acdg ._gcca );case 3:if _acdg ._cdbe ==nil {_bedc ,_bbdf :=_g .GetStandardTable (0);if _bbdf !=nil {return 0,_bbdf ;
|
|
};_acdg ._cdbe =_bedc ;};return _acdg ._cdbe .Decode (_acdg ._gcca );};return 0,nil ;};type template0 struct{};func (_egdc *TextRegion )symbolIDCodeLengths ()error {var (_bagac []*_g .Code ;_bfdgf uint64 ;_cedg _g .Tabler ;_cagdc error ;);for _agbag :=0;
|
|
_agbag < 35;_agbag ++{_bfdgf ,_cagdc =_egdc ._deef .ReadBits (4);if _cagdc !=nil {return _cagdc ;};_afde :=int (_bfdgf &0xf);if _afde > 0{_bagac =append (_bagac ,_g .NewCode (int32 (_afde ),0,int32 (_agbag ),false ));};};_cedg ,_cagdc =_g .NewFixedSizeTable (_bagac );
|
|
if _cagdc !=nil {return _cagdc ;};var (_eabb int64 ;_fdaa uint32 ;_geaa []*_g .Code ;_bcfb int64 ;);for _fdaa < _egdc .NumberOfSymbols {_bcfb ,_cagdc =_cedg .Decode (_egdc ._deef );if _cagdc !=nil {return _cagdc ;};if _bcfb < 32{if _bcfb > 0{_geaa =append (_geaa ,_g .NewCode (int32 (_bcfb ),0,int32 (_fdaa ),false ));
|
|
};_eabb =_bcfb ;_fdaa ++;}else {var _aggbc ,_deeee int64 ;switch _bcfb {case 32:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (2);if _cagdc !=nil {return _cagdc ;};_aggbc =3+int64 (_bfdgf );if _fdaa > 0{_deeee =_eabb ;};case 33:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (3);
|
|
if _cagdc !=nil {return _cagdc ;};_aggbc =3+int64 (_bfdgf );case 34:_bfdgf ,_cagdc =_egdc ._deef .ReadBits (7);if _cagdc !=nil {return _cagdc ;};_aggbc =11+int64 (_bfdgf );};for _beaac :=0;_beaac < int (_aggbc );_beaac ++{if _deeee > 0{_geaa =append (_geaa ,_g .NewCode (int32 (_deeee ),0,int32 (_fdaa ),false ));
|
|
};_fdaa ++;};};};_egdc ._deef .Align ();_egdc ._abdbc ,_cagdc =_g .NewFixedSizeTable (_geaa );return _cagdc ;};func (_fcag *TextRegion )getUserTable (_gebec int )(_g .Tabler ,error ){const _aeea ="\u0067\u0065\u0074U\u0073\u0065\u0072\u0054\u0061\u0062\u006c\u0065";
|
|
var _fegc int ;for _ ,_eaebb :=range _fcag .Header .RTSegments {if _eaebb .Type ==53{if _fegc ==_gebec {_cadcd ,_cfdfe :=_eaebb .GetSegmentData ();if _cfdfe !=nil {return nil ,_cfdfe ;};_aeg ,_aeeae :=_cadcd .(*TableSegment );if !_aeeae {_ac .Log .Debug (_ba .Sprintf ("\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079p\u0065\u00205\u0033\u0020\u002d\u0020\u0061\u006ed\u0020in\u0064\u0065\u0078\u003a\u0020\u0025\u0064\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074",_eaebb .SegmentNumber ));
|
|
return nil ,_df .Error (_aeea ,"\u0073\u0065\u0067\u006d\u0065\u006e\u0074 \u0077\u0069\u0074h\u0020\u0054\u0079\u0070e\u0020\u0035\u0033\u0020\u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u002a\u0054\u0061\u0062\u006c\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074");
|
|
};return _g .NewEncodedTable (_aeg );};_fegc ++;};};return nil ,nil ;};func (_agce *GenericRegion )overrideAtTemplate0a (_abg ,_dggd ,_egdd ,_dfb ,_bdgf ,_eefe int )int {if _agce .GBAtOverride [0]{_abg &=0xFFEF;if _agce .GBAtY [0]==0&&_agce .GBAtX [0]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [0]&0x1))<<4;
|
|
}else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [0]),_egdd +int (_agce .GBAtY [0])))<<4;};};if _agce .GBAtOverride [1]{_abg &=0xFBFF;if _agce .GBAtY [1]==0&&_agce .GBAtX [1]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [1]&0x1))<<10;
|
|
}else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [1]),_egdd +int (_agce .GBAtY [1])))<<10;};};if _agce .GBAtOverride [2]{_abg &=0xF7FF;if _agce .GBAtY [2]==0&&_agce .GBAtX [2]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [2]&0x1))<<11;
|
|
}else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [2]),_egdd +int (_agce .GBAtY [2])))<<11;};};if _agce .GBAtOverride [3]{_abg &=0x7FFF;if _agce .GBAtY [3]==0&&_agce .GBAtX [3]>=-int8 (_bdgf ){_abg |=(_dfb >>uint (int8 (_eefe )-_agce .GBAtX [3]&0x1))<<15;
|
|
}else {_abg |=int (_agce .getPixel (_dggd +int (_agce .GBAtX [3]),_egdd +int (_agce .GBAtY [3])))<<15;};};return _abg ;};func (_cabfc *PatternDictionary )checkInput ()error {if _cabfc .HdpHeight < 1||_cabfc .HdpWidth < 1{return _fd .New ("in\u0076\u0061l\u0069\u0064\u0020\u0048\u0065\u0061\u0064\u0065\u0072 \u0056\u0061\u006c\u0075\u0065\u003a\u0020\u0057\u0069\u0064\u0074\u0068\u002f\u0048\u0065\u0069\u0067\u0068\u0074\u0020\u006d\u0075\u0073\u0074\u0020\u0062\u0065\u0020g\u0072e\u0061\u0074\u0065\u0072\u0020\u0074\u0068\u0061n\u0020z\u0065\u0072o");
|
|
};if _cabfc .IsMMREncoded {if _cabfc .HDTemplate !=0{_ac .Log .Debug ("\u0076\u0061\u0072\u0069\u0061\u0062\u006c\u0065\u0020\u0048\u0044\u0054\u0065\u006d\u0070\u006c\u0061\u0074e\u0020\u0073\u0068\u006f\u0075\u006c\u0064 \u006e\u006f\u0074\u0020\u0063\u006f\u006e\u0074\u0061\u0069\u006e \u0074\u0068\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u0030");
|
|
};};return nil ;};func (_gffa *TableSegment )HtHigh ()int32 {return _gffa ._fdce };func (_ea *template0 )setIndex (_fcg *_cb .DecoderStats ){_fcg .SetIndex (0x100)};func (_faab *RegionSegment )Encode (w _fde .BinaryWriter )(_dfcc int ,_egb error ){const _ddb ="R\u0065g\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065n\u0074\u002e\u0045\u006eco\u0064\u0065";
|
|
_eecg :=make ([]byte ,4);_b .BigEndian .PutUint32 (_eecg ,_faab .BitmapWidth );_dfcc ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0057\u0069\u0064t\u0068");};_b .BigEndian .PutUint32 (_eecg ,_faab .BitmapHeight );var _fgdf int ;
|
|
_fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0048\u0065\u0069\u0067\u0068\u0074");};_dfcc +=_fgdf ;_b .BigEndian .PutUint32 (_eecg ,_faab .XLocation );_fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0058L\u006f\u0063\u0061\u0074\u0069\u006fn");
|
|
};_dfcc +=_fgdf ;_b .BigEndian .PutUint32 (_eecg ,_faab .YLocation );_fgdf ,_egb =w .Write (_eecg );if _egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"\u0059L\u006f\u0063\u0061\u0074\u0069\u006fn");};_dfcc +=_fgdf ;if _egb =w .WriteByte (byte (_faab .CombinaionOperator )&0x07);
|
|
_egb !=nil {return 0,_df .Wrap (_egb ,_ddb ,"c\u006fm\u0062\u0069\u006e\u0061\u0074\u0069\u006f\u006e \u006f\u0070\u0065\u0072at\u006f\u0072");};_dfcc ++;return _dfcc ,nil ;};func (_bccg *TextRegion )decodeRdy ()(int64 ,error ){const _aafg ="\u0064e\u0063\u006f\u0064\u0065\u0052\u0064y";
|
|
if _bccg .IsHuffmanEncoded {if _bccg .SbHuffRDY ==3{if _bccg ._acfe ==nil {var (_bbcbb int ;_cabde error ;);if _bccg .SbHuffFS ==3{_bbcbb ++;};if _bccg .SbHuffDS ==3{_bbcbb ++;};if _bccg .SbHuffDT ==3{_bbcbb ++;};if _bccg .SbHuffRDWidth ==3{_bbcbb ++;};
|
|
if _bccg .SbHuffRDHeight ==3{_bbcbb ++;};if _bccg .SbHuffRDX ==3{_bbcbb ++;};_bccg ._acfe ,_cabde =_bccg .getUserTable (_bbcbb );if _cabde !=nil {return 0,_df .Wrap (_cabde ,_aafg ,"");};};return _bccg ._acfe .Decode (_bccg ._deef );};_edcd ,_degf :=_g .GetStandardTable (14+int (_bccg .SbHuffRDY ));
|
|
if _degf !=nil {return 0,_degf ;};return _edcd .Decode (_bccg ._deef );};_dgeg ,_afae :=_bccg ._adffd .DecodeInt (_bccg ._eabd );if _afae !=nil {return 0,_df .Wrap (_afae ,_aafg ,"");};return int64 (_dgeg ),nil ;};func (_aca *PatternDictionary )setGbAtPixels (){if _aca .HDTemplate ==0{_aca .GBAtX =make ([]int8 ,4);
|
|
_aca .GBAtY =make ([]int8 ,4);_aca .GBAtX [0]=-int8 (_aca .HdpWidth );_aca .GBAtY [0]=0;_aca .GBAtX [1]=-3;_aca .GBAtY [1]=-1;_aca .GBAtX [2]=2;_aca .GBAtY [2]=-2;_aca .GBAtX [3]=-2;_aca .GBAtY [3]=-2;}else {_aca .GBAtX =[]int8 {-int8 (_aca .HdpWidth )};
|
|
_aca .GBAtY =[]int8 {0};};};func (_bccd *SymbolDictionary )getToExportFlags ()([]int ,error ){var (_aafaf int ;_accc int32 ;_fgfb error ;_abaf =int32 (_bccd ._fdcd +_bccd .NumberOfNewSymbols );_eafb =make ([]int ,_abaf ););for _bafc :=int32 (0);_bafc < _abaf ;
|
|
_bafc +=_accc {if _bccd .IsHuffmanEncoded {_bddg ,_eefc :=_g .GetStandardTable (1);if _eefc !=nil {return nil ,_eefc ;};_cace ,_eefc :=_bddg .Decode (_bccd ._gcca );if _eefc !=nil {return nil ,_eefc ;};_accc =int32 (_cace );}else {_accc ,_fgfb =_bccd ._cecef .DecodeInt (_bccd ._bcdg );
|
|
if _fgfb !=nil {return nil ,_fgfb ;};};if _accc !=0{for _bcdd :=_bafc ;_bcdd < _bafc +_accc ;_bcdd ++{_eafb [_bcdd ]=_aafaf ;};};if _aafaf ==0{_aafaf =1;}else {_aafaf =0;};};return _eafb ,nil ;};func (_fdb *GenericRegion )decodeTemplate1 (_ggg ,_bbefb ,_bec int ,_ccdb ,_fdf int )(_dag error ){const _ege ="\u0064e\u0063o\u0064\u0065\u0054\u0065\u006d\u0070\u006c\u0061\u0074\u0065\u0031";
|
|
var (_gebf ,_gbdce int ;_dee ,_abf int ;_cece byte ;_bcd ,_gcab int ;);if _ggg >=1{_cece ,_dag =_fdb .Bitmap .GetByte (_fdf );if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00201");};_dee =int (_cece );};if _ggg >=2{_cece ,_dag =_fdb .Bitmap .GetByte (_fdf -_fdb .Bitmap .RowStride );
|
|
if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006ci\u006e\u0065\u0020\u003e\u003d\u00202");};_abf =int (_cece )<<5;};_gebf =((_dee >>1)&0x1f8)|((_abf >>1)&0x1e00);for _faee :=0;_faee < _bec ;_faee =_bcd {var (_gcac byte ;_fcd int ;);_bcd =_faee +8;if _bage :=_bbefb -_faee ;
|
|
_bage > 8{_fcd =8;}else {_fcd =_bage ;};if _ggg > 0{_dee <<=8;if _bcd < _bbefb {_cece ,_dag =_fdb .Bitmap .GetByte (_fdf +1);if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0030");};_dee |=int (_cece );};};if _ggg > 1{_abf <<=8;
|
|
if _bcd < _bbefb {_cece ,_dag =_fdb .Bitmap .GetByte (_fdf -_fdb .Bitmap .RowStride +1);if _dag !=nil {return _df .Wrap (_dag ,_ege ,"\u006c\u0069\u006e\u0065\u0020\u003e\u0020\u0031");};_abf |=int (_cece )<<5;};};for _agd :=0;_agd < _fcd ;_agd ++{if _fdb ._dfg {_gbdce =_fdb .overrideAtTemplate1 (_gebf ,_faee +_agd ,_ggg ,int (_gcac ),_agd );
|
|
_fdb ._gbdc .SetIndex (int32 (_gbdce ));}else {_fdb ._gbdc .SetIndex (int32 (_gebf ));};_gcab ,_dag =_fdb ._cbe .DecodeBit (_fdb ._gbdc );if _dag !=nil {return _df .Wrap (_dag ,_ege ,"");};_gcac |=byte (_gcab )<<uint (7-_agd );_dab :=uint (8-_agd );_gebf =((_gebf &0xefb)<<1)|_gcab |((_dee >>_dab )&0x8)|((_abf >>_dab )&0x200);
|
|
};if _dgg :=_fdb .Bitmap .SetByte (_ccdb ,_gcac );_dgg !=nil {return _df .Wrap (_dgg ,_ege ,"");};_ccdb ++;_fdf ++;};return nil ;};func (_ega *SymbolDictionary )getSbSymCodeLen ()int8 {_fab :=int8 (_d .Ceil (_d .Log (float64 (_ega ._fdcd +_ega .NumberOfNewSymbols ))/_d .Log (2)));
|
|
if _ega .IsHuffmanEncoded &&_fab < 1{return 1;};return _fab ;};type PageInformationSegment struct{_badgb _fde .StreamReader ;PageBMHeight int ;PageBMWidth int ;ResolutionX int ;ResolutionY int ;_cfc bool ;_gadg _aa .CombinationOperator ;_becga bool ;DefaultPixelValue uint8 ;
|
|
_ade bool ;IsLossless bool ;IsStripe bool ;MaxStripeSize uint16 ;};func (_badg *HalftoneRegion )computeY (_adcf ,_eba int )int {return _badg .shiftAndFill (int (_badg .HGridY )+_adcf *int (_badg .HRegionX )-_eba *int (_badg .HRegionY ));};func _cfbc (_gbcd _fde .StreamReader ,_edcde *Header )*TextRegion {_cadf :=&TextRegion {_deef :_gbcd ,Header :_edcde ,RegionInfo :NewRegionSegment (_gbcd )};
|
|
return _cadf ;};func (_egbd *SymbolDictionary )encodeSymbols (_dddgb _fde .BinaryWriter )(_cddfa int ,_dfga error ){const _cbeeb ="\u0065\u006e\u0063o\u0064\u0065\u0053\u0079\u006d\u0062\u006f\u006c";_efcae :=_ee .New ();_efcae .Init ();_adfa ,_dfga :=_egbd ._fege .SelectByIndexes (_egbd ._cbbae );
|
|
if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0069n\u0069\u0074\u0069\u0061\u006c");};_fgf :=map[*_aa .Bitmap ]int {};for _cbfee ,_eac :=range _adfa .Values {_fgf [_eac ]=_cbfee ;};_adfa .SortByHeight ();var _ccbc ,_dgec int ;_acca ,_dfga :=_adfa .GroupByHeight ();
|
|
if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"");};for _ ,_ddcd :=range _acca .Values {_fdad :=_ddcd .Values [0].Height ;_bbga :=_fdad -_ccbc ;if _dfga =_efcae .EncodeInteger (_ee .IADH ,_bbga );_dfga !=nil {return 0,_df .Wrapf (_dfga ,_cbeeb ,"\u0049\u0041\u0044\u0048\u0020\u0066\u006f\u0072\u0020\u0064\u0068\u003a \u0027\u0025\u0064\u0027",_bbga );
|
|
};_ccbc =_fdad ;_beff ,_bcbe :=_ddcd .GroupByWidth ();if _bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"\u0068\u0065\u0069g\u0068\u0074\u003a\u0020\u0027\u0025\u0064\u0027",_fdad );};var _dafb int ;for _ ,_cfce :=range _beff .Values {for _ ,_aadd :=range _cfce .Values {_daeg :=_aadd .Width ;
|
|
_deab :=_daeg -_dafb ;if _bcbe =_efcae .EncodeInteger (_ee .IADW ,_deab );_bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"\u0049\u0041\u0044\u0057\u0020\u0066\u006f\u0072\u0020\u0064\u0077\u003a \u0027\u0025\u0064\u0027",_deab );};_dafb +=_deab ;if _bcbe =_efcae .EncodeBitmap (_aadd ,false );
|
|
_bcbe !=nil {return 0,_df .Wrapf (_bcbe ,_cbeeb ,"H\u0065i\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u0020W\u0069\u0064\u0074\u0068: \u0025\u0064",_fdad ,_daeg );};_aaddb :=_fgf [_aadd ];_egbd ._ecdcc [_aaddb ]=_dgec ;_dgec ++;};};if _bcbe =_efcae .EncodeOOB (_ee .IADW );
|
|
_bcbe !=nil {return 0,_df .Wrap (_bcbe ,_cbeeb ,"\u0049\u0041\u0044\u0057");};};if _dfga =_efcae .EncodeInteger (_ee .IAEX ,0);_dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0065\u0078p\u006f\u0072\u0074e\u0064\u0020\u0073\u0079\u006d\u0062\u006f\u006c\u0073");
|
|
};if _dfga =_efcae .EncodeInteger (_ee .IAEX ,len (_egbd ._cbbae ));_dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u006e\u0075\u006d\u0062\u0065\u0072\u0020\u006f\u0066\u0020\u0073\u0079m\u0062\u006f\u006c\u0073");};_efcae .Final ();_acge ,_dfga :=_efcae .WriteTo (_dddgb );
|
|
if _dfga !=nil {return 0,_df .Wrap (_dfga ,_cbeeb ,"\u0077\u0072i\u0074\u0069\u006e\u0067 \u0065\u006ec\u006f\u0064\u0065\u0072\u0020\u0063\u006f\u006et\u0065\u0078\u0074\u0020\u0074\u006f\u0020\u0027\u0077\u0027\u0020\u0077r\u0069\u0074\u0065\u0072");
|
|
};return int (_acge ),nil ;};func (_efcaf *TextRegion )parseHeader ()error {var _aaba error ;_ac .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0062\u0065\u0067\u0069n\u0073\u002e\u002e\u002e");
|
|
defer func (){if _aaba !=nil {_ac .Log .Trace ("\u005b\u0054\u0045\u0058\u0054\u0020\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045\u002d\u0048\u0045\u0041\u0044E\u0052\u005d\u0020\u0066\u0061i\u006c\u0065d\u002e\u0020\u0025\u0076",_aaba );
|
|
}else {_ac .Log .Trace ("\u005b\u0054E\u0058\u0054\u0020\u0052E\u0047\u0049O\u004e\u005d\u005b\u0050\u0041\u0052\u0053\u0045-\u0048\u0045\u0041\u0044\u0045\u0052\u005d\u0020\u0066\u0069\u006e\u0069s\u0068\u0065\u0064\u002e");};}();if _aaba =_efcaf .RegionInfo .parseHeader ();
|
|
_aaba !=nil {return _aaba ;};if _aaba =_efcaf .readRegionFlags ();_aaba !=nil {return _aaba ;};if _efcaf .IsHuffmanEncoded {if _aaba =_efcaf .readHuffmanFlags ();_aaba !=nil {return _aaba ;};};if _aaba =_efcaf .readUseRefinement ();_aaba !=nil {return _aaba ;
|
|
};if _aaba =_efcaf .readAmountOfSymbolInstances ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .getSymbols ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .computeSymbolCodeLength ();_aaba !=nil {return _aaba ;};if _aaba =_efcaf .checkInput ();_aaba !=nil {return _aaba ;
|
|
};_ac .Log .Trace ("\u0025\u0073",_efcaf .String ());return nil ;};var _ SegmentEncoder =&RegionSegment {};func _dcbeg (_cadaa int )int {if _cadaa ==0{return 0;};_cadaa |=_cadaa >>1;_cadaa |=_cadaa >>2;_cadaa |=_cadaa >>4;_cadaa |=_cadaa >>8;_cadaa |=_cadaa >>16;
|
|
return (_cadaa +1)>>1;};func (_gdgb *Header )GetSegmentData ()(Segmenter ,error ){var _dbgda Segmenter ;if _gdgb .SegmentData !=nil {_dbgda =_gdgb .SegmentData ;};if _dbgda ==nil {_eeea ,_add :=_abed [_gdgb .Type ];if !_add {return nil ,_ba .Errorf ("\u0074\u0079\u0070\u0065\u003a\u0020\u0025\u0073\u002f\u0020\u0025\u0064\u0020\u0063\u0072e\u0061t\u006f\u0072\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002e\u0020",_gdgb .Type ,_gdgb .Type );
|
|
};_dbgda =_eeea ();_ac .Log .Trace ("\u005b\u0053E\u0047\u004d\u0045\u004e\u0054-\u0048\u0045\u0041\u0044\u0045R\u005d\u005b\u0023\u0025\u0064\u005d\u0020\u0047\u0065\u0074\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u0020\u0061\u0074\u0020\u004f\u0066\u0066\u0073\u0065\u0074\u003a\u0020\u0025\u0030\u0034\u0058",_gdgb .SegmentNumber ,_gdgb .SegmentDataStartOffset );
|
|
_fbd ,_gadc :=_gdgb .subInputReader ();if _gadc !=nil {return nil ,_gadc ;};if _fbeda :=_dbgda .Init (_gdgb ,_fbd );_fbeda !=nil {_ac .Log .Debug ("\u0049\u006e\u0069\u0074 \u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076 \u0066o\u0072\u0020\u0074\u0079\u0070\u0065\u003a \u0025\u0054",_fbeda ,_dbgda );
|
|
return nil ,_fbeda ;};_gdgb .SegmentData =_dbgda ;};return _dbgda ,nil ;};func (_ecf *HalftoneRegion )GetPatterns ()([]*_aa .Bitmap ,error ){var (_eeg []*_aa .Bitmap ;_gafa error ;);for _ ,_ebd :=range _ecf ._adfg .RTSegments {var _ggdb Segmenter ;_ggdb ,_gafa =_ebd .GetSegmentData ();
|
|
if _gafa !=nil {_ac .Log .Debug ("\u0047e\u0074\u0053\u0065\u0067m\u0065\u006e\u0074\u0044\u0061t\u0061 \u0066a\u0069\u006c\u0065\u0064\u003a\u0020\u0025v",_gafa );return nil ,_gafa ;};_cedb ,_cagb :=_ggdb .(*PatternDictionary );if !_cagb {_gafa =_ba .Errorf ("\u0072e\u006c\u0061t\u0065\u0064\u0020\u0073e\u0067\u006d\u0065n\u0074\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0070at\u0074\u0065\u0072n\u0020\u0064i\u0063\u0074\u0069\u006f\u006e\u0061r\u0079\u003a \u0025\u0054",_ggdb );
|
|
return nil ,_gafa ;};var _bcge []*_aa .Bitmap ;_bcge ,_gafa =_cedb .GetDictionary ();if _gafa !=nil {_ac .Log .Debug ("\u0070\u0061\u0074\u0074\u0065\u0072\u006e\u0020\u0047\u0065\u0074\u0044\u0069\u0063\u0074i\u006fn\u0061\u0072\u0079\u0020\u0066\u0061\u0069\u006c\u0065\u0064\u003a\u0020\u0025\u0076",_gafa );
|
|
return nil ,_gafa ;};_eeg =append (_eeg ,_bcge ...);};return _eeg ,nil ;};var _ templater =&template0 {};func (_agaf *TableSegment )Init (h *Header ,r _fde .StreamReader )error {_agaf ._bcebe =r ;return _agaf .parseHeader ();};func (_bcbd *TextRegion )blit (_dggc *_aa .Bitmap ,_dffc int64 )error {if _bcbd .IsTransposed ==0&&(_bcbd .ReferenceCorner ==2||_bcbd .ReferenceCorner ==3){_bcbd ._bfbbd +=int64 (_dggc .Width -1);
|
|
}else if _bcbd .IsTransposed ==1&&(_bcbd .ReferenceCorner ==0||_bcbd .ReferenceCorner ==2){_bcbd ._bfbbd +=int64 (_dggc .Height -1);};_adae :=_bcbd ._bfbbd ;if _bcbd .IsTransposed ==1{_adae ,_dffc =_dffc ,_adae ;};switch _bcbd .ReferenceCorner {case 0:_dffc -=int64 (_dggc .Height -1);
|
|
case 2:_dffc -=int64 (_dggc .Height -1);_adae -=int64 (_dggc .Width -1);case 3:_adae -=int64 (_dggc .Width -1);};_cfcc :=_aa .Blit (_dggc ,_bcbd .RegionBitmap ,int (_adae ),int (_dffc ),_bcbd .CombinationOperator );if _cfcc !=nil {return _cfcc ;};if _bcbd .IsTransposed ==0&&(_bcbd .ReferenceCorner ==0||_bcbd .ReferenceCorner ==1){_bcbd ._bfbbd +=int64 (_dggc .Width -1);
|
|
};if _bcbd .IsTransposed ==1&&(_bcbd .ReferenceCorner ==1||_bcbd .ReferenceCorner ==3){_bcbd ._bfbbd +=int64 (_dggc .Height -1);};return nil ;};type EncodeInitializer interface{InitEncode ();};func (_edcb *Header )readHeaderLength (_deac _fde .StreamReader ,_ccdf int64 ){_edcb .HeaderLength =_deac .StreamPosition ()-_ccdf ;
|
|
};func (_ddaf *SymbolDictionary )decodeDifferenceWidth ()(int64 ,error ){if _ddaf .IsHuffmanEncoded {switch _ddaf .SdHuffDecodeWidthSelection {case 0:_gbdf ,_dcdeb :=_g .GetStandardTable (2);if _dcdeb !=nil {return 0,_dcdeb ;};return _gbdf .Decode (_ddaf ._gcca );
|
|
case 1:_gafg ,_aaae :=_g .GetStandardTable (3);if _aaae !=nil {return 0,_aaae ;};return _gafg .Decode (_ddaf ._gcca );case 3:if _ddaf ._cbfdg ==nil {var _agfb int ;if _ddaf .SdHuffDecodeHeightSelection ==3{_agfb ++;};_efae ,_gcbc :=_ddaf .getUserTable (_agfb );
|
|
if _gcbc !=nil {return 0,_gcbc ;};_ddaf ._cbfdg =_efae ;};return _ddaf ._cbfdg .Decode (_ddaf ._gcca );};}else {_dadfb ,_gdbf :=_ddaf ._cecef .DecodeInt (_ddaf ._fdcg );if _gdbf !=nil {return 0,_gdbf ;};return int64 (_dadfb ),nil ;};return 0,nil ;};func (_bgbdd *PageInformationSegment )String ()string {_cegad :=&_c .Builder {};
|
|
_cegad .WriteString ("\u000a\u005b\u0050\u0041G\u0045\u002d\u0049\u004e\u0046\u004f\u0052\u004d\u0041\u0054I\u004fN\u002d\u0053\u0045\u0047\u004d\u0045\u004eT\u005d\u000a");_cegad .WriteString (_ba .Sprintf ("\u0009\u002d \u0042\u004d\u0048e\u0069\u0067\u0068\u0074\u003a\u0020\u0025\u0064\u000a",_bgbdd .PageBMHeight ));
|
|
_cegad .WriteString (_ba .Sprintf ("\u0009-\u0020B\u004d\u0057\u0069\u0064\u0074\u0068\u003a\u0020\u0025\u0064\u000a",_bgbdd .PageBMWidth ));_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0058\u003a\u0020\u0025\u0064\u000a",_bgbdd .ResolutionX ));
|
|
_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052es\u006f\u006c\u0075\u0074\u0069\u006f\u006e\u0059\u003a\u0020\u0025\u0064\u000a",_bgbdd .ResolutionY ));_cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006e\u004f\u0070\u0065r\u0061\u0074\u006fr\u003a \u0025\u0073\u000a",_bgbdd ._gadg ));
|
|
_cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u0043\u006f\u006d\u0062i\u006e\u0061\u0074\u0069\u006f\u006eO\u0070\u0065\u0072\u0061\u0074\u006f\u0072O\u0076\u0065\u0072\u0072\u0069\u0064\u0065\u003a\u0020\u0025v\u000a",_bgbdd ._cfc ));_cegad .WriteString (_ba .Sprintf ("\u0009-\u0020I\u0073\u004c\u006f\u0073\u0073l\u0065\u0073s\u003a\u0020\u0025\u0076\u000a",_bgbdd .IsLossless ));
|
|
_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020R\u0065\u0071\u0075\u0069r\u0065\u0073\u0041\u0075\u0078\u0069\u006ci\u0061\u0072\u0079\u0042\u0075\u0066\u0066\u0065\u0072\u003a\u0020\u0025\u0076\u000a",_bgbdd ._becga ));_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020M\u0069\u0067\u0068\u0074C\u006f\u006e\u0074\u0061\u0069\u006e\u0052e\u0066\u0069\u006e\u0065\u006d\u0065\u006e\u0074\u0073\u003a\u0020\u0025\u0076\u000a",_bgbdd ._ade ));
|
|
_cegad .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0049\u0073\u0053\u0074\u0072\u0069\u0070\u0065\u0064:\u0020\u0025\u0076\u000a",_bgbdd .IsStripe ));_cegad .WriteString (_ba .Sprintf ("\t\u002d\u0020\u004d\u0061xS\u0074r\u0069\u0070\u0065\u0053\u0069z\u0065\u003a\u0020\u0025\u0076\u000a",_bgbdd .MaxStripeSize ));
|
|
return _cegad .String ();};func (_fcda *TextRegion )computeSymbolCodeLength ()error {if _fcda .IsHuffmanEncoded {return _fcda .symbolIDCodeLengths ();};_fcda ._befd =int8 (_d .Ceil (_d .Log (float64 (_fcda .NumberOfSymbols ))/_d .Log (2)));return nil ;
|
|
};func (_afcag *TextRegion )getSymbols ()error {if _afcag .Header .RTSegments !=nil {return _afcag .initSymbols ();};return nil ;};func (_eabg *PageInformationSegment )CombinationOperatorOverrideAllowed ()bool {return _eabg ._cfc };var (_ecbb Segmenter ;
|
|
_abed =map[Type ]func ()Segmenter {TSymbolDictionary :func ()Segmenter {return &SymbolDictionary {}},TIntermediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateTextRegion :func ()Segmenter {return &TextRegion {}},TImmediateLosslessTextRegion :func ()Segmenter {return &TextRegion {}},TPatternDictionary :func ()Segmenter {return &PatternDictionary {}},TIntermediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TImmediateLosslessHalftoneRegion :func ()Segmenter {return &HalftoneRegion {}},TIntermediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateGenericRegion :func ()Segmenter {return &GenericRegion {}},TImmediateLosslessGenericRegion :func ()Segmenter {return &GenericRegion {}},TIntermediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TImmediateLosslessGenericRefinementRegion :func ()Segmenter {return &GenericRefinementRegion {}},TPageInformation :func ()Segmenter {return &PageInformationSegment {}},TEndOfPage :func ()Segmenter {return _ecbb },TEndOfStrip :func ()Segmenter {return &EndOfStripe {}},TEndOfFile :func ()Segmenter {return _ecbb },TProfiles :func ()Segmenter {return _ecbb },TTables :func ()Segmenter {return &TableSegment {}},TExtension :func ()Segmenter {return _ecbb },TBitmap :func ()Segmenter {return _ecbb }};
|
|
);func (_bfg *GenericRefinementRegion )String ()string {_badb :=&_c .Builder {};_badb .WriteString ("\u000a[\u0047E\u004e\u0045\u0052\u0049\u0043 \u0052\u0045G\u0049\u004f\u004e\u005d\u000a");_badb .WriteString (_bfg .RegionInfo .String ()+"\u000a");_badb .WriteString (_ba .Sprintf ("\u0009\u002d \u0049\u0073\u0054P\u0047\u0052\u006f\u006e\u003a\u0020\u0025\u0076\u000a",_bfg .IsTPGROn ));
|
|
_badb .WriteString (_ba .Sprintf ("\u0009-\u0020T\u0065\u006d\u0070\u006c\u0061t\u0065\u0049D\u003a\u0020\u0025\u0076\u000a",_bfg .TemplateID ));_badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0058\u003a\u0020\u0025\u0076\u000a",_bfg .GrAtX ));
|
|
_badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0047\u0072\u0041\u0074\u0059\u003a\u0020\u0025\u0076\u000a",_bfg .GrAtY ));_badb .WriteString (_ba .Sprintf ("\u0009-\u0020R\u0065\u0066\u0065\u0072\u0065n\u0063\u0065D\u0058\u0020\u0025\u0076\u000a",_bfg .ReferenceDX ));
|
|
_badb .WriteString (_ba .Sprintf ("\u0009\u002d\u0020\u0052ef\u0065\u0072\u0065\u006e\u0063\u0044\u0065\u0059\u003a\u0020\u0025\u0076\u000a",_bfg .ReferenceDY ));return _badb .String ();};type HalftoneRegion struct{_eecb _fde .StreamReader ;_adfg *Header ;
|
|
DataHeaderOffset int64 ;DataHeaderLength int64 ;DataOffset int64 ;DataLength int64 ;RegionSegment *RegionSegment ;HDefaultPixel int8 ;CombinationOperator _aa .CombinationOperator ;HSkipEnabled bool ;HTemplate byte ;IsMMREncoded bool ;HGridWidth uint32 ;
|
|
HGridHeight uint32 ;HGridX int32 ;HGridY int32 ;HRegionX uint16 ;HRegionY uint16 ;HalftoneRegionBitmap *_aa .Bitmap ;Patterns []*_aa .Bitmap ;};func (_bdgae *Header )writeReferredToSegments (_age _fde .BinaryWriter )(_aefc int ,_gce error ){const _beee ="\u0077\u0072\u0069te\u0052\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0073";
|
|
var (_bfdg uint16 ;_bdgc uint32 ;);_fbc :=_bdgae .referenceSize ();_bgbda :=1;_bffa :=make ([]byte ,_fbc );for _ ,_ffeg :=range _bdgae .RTSNumbers {switch _fbc {case 4:_bdgc =uint32 (_ffeg );_b .BigEndian .PutUint32 (_bffa ,_bdgc );_bgbda ,_gce =_age .Write (_bffa );
|
|
if _gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"u\u0069\u006e\u0074\u0033\u0032\u0020\u0073\u0069\u007a\u0065");};case 2:_bfdg =uint16 (_ffeg );_b .BigEndian .PutUint16 (_bffa ,_bfdg );_bgbda ,_gce =_age .Write (_bffa );if _gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"\u0075\u0069\u006e\u0074\u0031\u0036");
|
|
};default:if _gce =_age .WriteByte (byte (_ffeg ));_gce !=nil {return 0,_df .Wrap (_gce ,_beee ,"\u0075\u0069\u006et\u0038");};};_aefc +=_bgbda ;};return _aefc ,nil ;};func (_cbf *Header )readReferredToSegmentNumbers (_dfec _fde .StreamReader ,_gfac int )([]int ,error ){const _efee ="\u0072\u0065\u0061\u0064R\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0054\u006f\u0053e\u0067m\u0065\u006e\u0074\u004e\u0075\u006d\u0062e\u0072\u0073";
|
|
_dge :=make ([]int ,_gfac );if _gfac > 0{_cbf .RTSegments =make ([]*Header ,_gfac );var (_ecdc uint64 ;_ddfc error ;);for _acdf :=0;_acdf < _gfac ;_acdf ++{_ecdc ,_ddfc =_dfec .ReadBits (byte (_cbf .referenceSize ())<<3);if _ddfc !=nil {return nil ,_df .Wrapf (_ddfc ,_efee ,"\u0027\u0025\u0064\u0027 \u0072\u0065\u0066\u0065\u0072\u0072\u0065\u0064\u0020\u0073e\u0067m\u0065\u006e\u0074\u0020\u006e\u0075\u006db\u0065\u0072",_acdf );
|
|
};_dge [_acdf ]=int (_ecdc &_d .MaxInt32 );};};return _dge ,nil ;};func (_eaege *SymbolDictionary )setRefinementAtPixels ()error {if !_eaege .UseRefinementAggregation ||_eaege .SdrTemplate !=0{return nil ;};if _dadbg :=_eaege .readRefinementAtPixels (2);
|
|
_dadbg !=nil {return _dadbg ;};return nil ;};func (_adag *TextRegion )decodeDfs ()(int64 ,error ){if _adag .IsHuffmanEncoded {if _adag .SbHuffFS ==3{if _adag ._gcgg ==nil {var _bagg error ;_adag ._gcgg ,_bagg =_adag .getUserTable (0);if _bagg !=nil {return 0,_bagg ;
|
|
};};return _adag ._gcgg .Decode (_adag ._deef );};_beafb ,_fbfc :=_g .GetStandardTable (6+int (_adag .SbHuffFS ));if _fbfc !=nil {return 0,_fbfc ;};return _beafb .Decode (_adag ._deef );};_gcf ,_bbaba :=_adag ._adffd .DecodeInt (_adag ._dgcaf );if _bbaba !=nil {return 0,_bbaba ;
|
|
};return int64 (_gcf ),nil ;};func (_agc *GenericRefinementRegion )getGrReference ()(*_aa .Bitmap ,error ){segments :=_agc ._cf .RTSegments ;if len (segments )==0{return nil ,_fd .New ("\u0052\u0065f\u0065\u0072\u0065\u006e\u0063\u0065\u0064\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0020\u006e\u006f\u0074\u0020\u0065\u0078is\u0074\u0073");
|
|
};_cd ,_gad :=segments [0].GetSegmentData ();if _gad !=nil {return nil ,_gad ;};_gc ,_cda :=_cd .(Regioner );if !_cda {return nil ,_ba .Errorf ("\u0072\u0065\u0066\u0065\u0072r\u0065\u0064\u0020\u0074\u006f\u0020\u0053\u0065\u0067\u006d\u0065\u006e\u0074 \u0069\u0073\u0020\u006e\u006f\u0074\u0020\u0061\u0020\u0052\u0065\u0067\u0069\u006f\u006e\u0065\u0072\u003a\u0020\u0025\u0054",_cd );
|
|
};return _gc .GetRegionBitmap ();};func (_aab *GenericRegion )Encode (w _fde .BinaryWriter )(_gcde int ,_dcgf error ){const _dca ="G\u0065n\u0065\u0072\u0069\u0063\u0052\u0065\u0067\u0069o\u006e\u002e\u0045\u006eco\u0064\u0065";if _aab .Bitmap ==nil {return 0,_df .Error (_dca ,"\u0070\u0072\u006f\u0076id\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0062\u0069\u0074\u006d\u0061\u0070");
|
|
};_cbaff ,_dcgf :=_aab .RegionSegment .Encode (w );if _dcgf !=nil {return 0,_df .Wrap (_dcgf ,_dca ,"\u0052\u0065\u0067\u0069\u006f\u006e\u0053\u0065\u0067\u006d\u0065\u006e\u0074");};_gcde +=_cbaff ;if _dcgf =w .SkipBits (4);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"\u0073k\u0069p\u0020\u0072\u0065\u0073\u0065r\u0076\u0065d\u0020\u0062\u0069\u0074\u0073");
|
|
};var _cde int ;if _aab .IsTPGDon {_cde =1;};if _dcgf =w .WriteBit (_cde );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"\u0074\u0070\u0067\u0064\u006f\u006e");};_cde =0;if _dcgf =w .WriteBit (int (_aab .GBTemplate >>1)&0x01);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"f\u0069r\u0073\u0074\u0020\u0067\u0062\u0074\u0065\u006dp\u006c\u0061\u0074\u0065 b\u0069\u0074");
|
|
};if _dcgf =w .WriteBit (int (_aab .GBTemplate )&0x01);_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"s\u0065\u0063\u006f\u006ed \u0067b\u0074\u0065\u006d\u0070\u006ca\u0074\u0065\u0020\u0062\u0069\u0074");};if _aab .UseMMR {_cde =1;};if _dcgf =w .WriteBit (_cde );
|
|
_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"u\u0073\u0065\u0020\u004d\u004d\u0052\u0020\u0062\u0069\u0074");};_gcde ++;if _cbaff ,_dcgf =_aab .writeGBAtPixels (w );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_gcde +=_cbaff ;_ded :=_ee .New ();
|
|
if _dcgf =_ded .EncodeBitmap (_aab .Bitmap ,_aab .IsTPGDon );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_ded .Final ();var _daa int64 ;if _daa ,_dcgf =_ded .WriteTo (w );_dcgf !=nil {return _gcde ,_df .Wrap (_dcgf ,_dca ,"");};_gcde +=int (_daa );
|
|
return _gcde ,nil ;};func (_gd *GenericRefinementRegion )GetRegionBitmap ()(*_aa .Bitmap ,error ){var _ed error ;_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0062\u0065\u0067\u0069\u006e\u0073\u002e\u002e\u002e");
|
|
defer func (){if _ed !=nil {_ac .Log .Trace ("[\u0047\u0045\u004e\u0045\u0052\u0049\u0043\u002d\u0052E\u0046\u002d\u0052\u0045\u0047\u0049\u004fN]\u0020\u0047\u0065\u0074R\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006dap\u0020\u0066a\u0069\u006c\u0065\u0064\u002e\u0020\u0025\u0076",_ed );
|
|
}else {_ac .Log .Trace ("\u005b\u0047E\u004e\u0045\u0052\u0049\u0043\u002d\u0052\u0045\u0046\u002d\u0052\u0045\u0047\u0049\u004f\u004e\u005d\u0020\u0047\u0065\u0074\u0052\u0065\u0067\u0069\u006f\u006e\u0042\u0069\u0074\u006d\u0061\u0070\u0020\u0066\u0069\u006e\u0069\u0073\u0068\u0065\u0064\u002e");
|
|
};}();if _gd .RegionBitmap !=nil {return _gd .RegionBitmap ,nil ;};_bad :=0;if _gd .ReferenceBitmap ==nil {_gd .ReferenceBitmap ,_ed =_gd .getGrReference ();if _ed !=nil {return nil ,_ed ;};};if _gd ._baga ==nil {_gd ._baga ,_ed =_cb .New (_gd ._feb );
|
|
if _ed !=nil {return nil ,_ed ;};};if _gd ._aad ==nil {_gd ._aad =_cb .NewStats (8192,1);};_gd .RegionBitmap =_aa .New (int (_gd .RegionInfo .BitmapWidth ),int (_gd .RegionInfo .BitmapHeight ));if _gd .TemplateID ==0{if _ed =_gd .updateOverride ();_ed !=nil {return nil ,_ed ;
|
|
};};_ef :=(_gd .RegionBitmap .Width +7)&-8;var _ab int ;if _gd .IsTPGROn {_ab =int (-_gd .ReferenceDY )*_gd .ReferenceBitmap .RowStride ;};_acb :=_ab +1;for _eed :=0;_eed < _gd .RegionBitmap .Height ;_eed ++{if _gd .IsTPGROn {_edg ,_abd :=_gd .decodeSLTP ();
|
|
if _abd !=nil {return nil ,_abd ;};_bad ^=_edg ;};if _bad ==0{_ed =_gd .decodeOptimized (_eed ,_gd .RegionBitmap .Width ,_gd .RegionBitmap .RowStride ,_gd .ReferenceBitmap .RowStride ,_ef ,_ab ,_acb );if _ed !=nil {return nil ,_ed ;};}else {_ed =_gd .decodeTypicalPredictedLine (_eed ,_gd .RegionBitmap .Width ,_gd .RegionBitmap .RowStride ,_gd .ReferenceBitmap .RowStride ,_ef ,_ab );
|
|
if _ed !=nil {return nil ,_ed ;};};};return _gd .RegionBitmap ,nil ;};func (_aff *GenericRefinementRegion )getPixel (_dcc *_aa .Bitmap ,_efcf ,_baf int )int {if _efcf < 0||_efcf >=_dcc .Width {return 0;};if _baf < 0||_baf >=_dcc .Height {return 0;};if _dcc .GetPixel (_efcf ,_baf ){return 1;
|
|
};return 0;};func (_efbf *Header )writeSegmentDataLength (_fbf _fde .BinaryWriter )(_cafb int ,_fdbg error ){_geab :=make ([]byte ,4);_b .BigEndian .PutUint32 (_geab ,uint32 (_efbf .SegmentDataLength ));if _cafb ,_fdbg =_fbf .Write (_geab );_fdbg !=nil {return 0,_df .Wrap (_fdbg ,"\u0048\u0065a\u0064\u0065\u0072\u002e\u0077\u0072\u0069\u0074\u0065\u0053\u0065\u0067\u006d\u0065\u006e\u0074\u0044\u0061\u0074\u0061\u004c\u0065ng\u0074\u0068","");
|
|
};return _cafb ,nil ;};func (_ggbcc *Header )writeReferredToCount (_bdga _fde .BinaryWriter )(_cgd int ,_bdab error ){const _cbfd ="w\u0072i\u0074\u0065\u0052\u0065\u0066\u0065\u0072\u0072e\u0064\u0054\u006f\u0043ou\u006e\u0074";_ggbcc .RTSNumbers =make ([]int ,len (_ggbcc .RTSegments ));
|
|
for _bfgd ,_bfad :=range _ggbcc .RTSegments {_ggbcc .RTSNumbers [_bfgd ]=int (_bfad .SegmentNumber );};if len (_ggbcc .RTSNumbers )<=4{var _gff byte ;if len (_ggbcc .RetainBits )>=1{_gff =_ggbcc .RetainBits [0];};_gff |=byte (len (_ggbcc .RTSNumbers ))<<5;
|
|
if _bdab =_bdga .WriteByte (_gff );_bdab !=nil {return 0,_df .Wrap (_bdab ,_cbfd ,"\u0073\u0068\u006fr\u0074\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return 1,nil ;};_ffgg :=uint32 (len (_ggbcc .RTSNumbers ));_cgab :=make ([]byte ,4+_fe .Ceil (len (_ggbcc .RTSNumbers )+1,8));
|
|
_ffgg |=0x7<<29;_b .BigEndian .PutUint32 (_cgab ,_ffgg );copy (_cgab [1:],_ggbcc .RetainBits );_cgd ,_bdab =_bdga .Write (_cgab );if _bdab !=nil {return 0,_df .Wrap (_bdab ,_cbfd ,"l\u006f\u006e\u0067\u0020\u0066\u006f\u0072\u006d\u0061\u0074");};return _cgd ,nil ;
|
|
};func (_bg *GenericRefinementRegion )decodeSLTP ()(int ,error ){_bg .Template .setIndex (_bg ._aad );return _bg ._baga .DecodeBit (_bg ._aad );}; |