2023-04-15 17:27:31 +00:00

24 lines
59 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 convert ;import (_dc "bytes";_ef "errors";_ec "github.com/unidoc/unioffice/common/logger";_ea "github.com/unidoc/unioffice/common/tempstorage";_gf "github.com/unidoc/unioffice/internal/convertutils";_be "github.com/unidoc/unioffice/measurement";_a "github.com/unidoc/unioffice/presentation";_eg "github.com/unidoc/unioffice/schema/soo/dml";_aa "github.com/unidoc/unioffice/schema/soo/dml/chart";_ad "github.com/unidoc/unioffice/schema/soo/pml";_db "github.com/unidoc/unipdf/v3/contentstream/draw";_ae "github.com/unidoc/unipdf/v3/creator";_f "github.com/unidoc/unipdf/v3/model";_cd "github.com/unidoc/unipdf/v3/render";_g "image";_d "image/color";_c "image/draw";_b "strconv";_ee "strings";);func (_acbf *textboxContext )newLine (){if _acbf ._cfg ==nil {_acbf .newParagraph ();};_dgg :=_acbf ._cfg ._edec +_acbf ._cfg ._ffdf ;_dac :=&line {};_dac ._beab =_acbf ._cfg ._gbfe ;if len (_acbf ._cfg ._egdc )==0{_dac ._beab +=_acbf ._cfg ._bfea ;};_dac ._ffb =_acbf ._cfg ._gdda ;_dac ._caf =_dac ._beab ;_dac ._dgae =_dgg ;_acbf ._cfg ._egdc =append (_acbf ._cfg ._egdc ,_dac );_acbf ._cfbb =_dac ;};type word struct{_gfa []*symbol ;_eeg float64 ;_facb float64 ;_aaf bool ;};func (_gaff *textboxContext )drawParagraphs (){_gaff ._febfb .NewPage ();for _ ,_fce :=range _gaff ._ageb {for _ ,_eeff :=range _fce ._egdc {for _ ,_bfdc :=range _eeff ._cgc {for _ ,_dabcg :=range _bfdc ._gfa {_ceea :=_gaff ._febfb .NewStyledParagraph ();if _dabcg ._efg {_dabcg ._daaf =0;}else if _dabcg ._gcc {_dabcg ._daaf =1.2*_eeff ._ggde -_dabcg ._befb ;};_fabc :=_bfdc ._eeg +_dabcg ._ffe ;_baca :=_fce ._gagg +_eeff ._dgae +_dabcg ._daaf ;_ceea .SetPos (_fabc ,_baca );_dddga :=_ceea .Append (_dabcg ._cbfe );if _dabcg ._cfaf !=nil {_dddga .Style =*_dabcg ._cfaf ;};_gaff ._febfb .Draw (_ceea );if _dabcg ._egb {_ddad :=_baca +_dabcg ._befb +2;_gf .DrawLine (_gaff ._febfb ,_fabc ,_ddad ,_fabc +_dabcg ._feff ,_ddad ,1,_dabcg ._cfaf .Color );};};};};};};func _dcgc (_eaea ,_dabe *_eg .CT_TableStyleCellStyle )*_eg .CT_TableStyleCellStyle {_fegc :=_eg .NewCT_TableStyleCellStyle ();if _eaea !=nil {*_fegc =*_eaea ;};if _dabe ==nil {return _fegc ;};if _fegc .TcBdr ==nil {_fegc .TcBdr =_dabe .TcBdr ;};if _fegc .Fill ==nil {_fegc .Fill =_dabe .Fill ;};if _fegc .FillRef ==nil {_fegc .FillRef =_dabe .FillRef ;};return _fegc ;};type convertContext struct{_gacd *_ae .Creator ;_aggac *_gf .Rectangle ;_eff *_a .Presentation ;_ddcd *_a .Slide ;_bffg *_ad .SldMaster ;_efec *_ad .SldLayout ;_febg float64 ;_gbag float64 ;_ggba []_ae .Drawable ;_ceff *background ;_aeca *_eg .CT_TextParagraphProperties ;_fgf *_eg .CT_TextCharacterProperties ;_fdg *_eg .CT_TextParagraphProperties ;_eabc *_eg .CT_TextCharacterProperties ;_deg *_eg .CT_TextParagraphProperties ;_cee *_eg .CT_TextCharacterProperties ;_bdga []*_eg .CT_TextParagraphProperties ;_acf []*_eg .CT_TextParagraphProperties ;_bcd []*_eg .CT_TextParagraphProperties ;_febe *_eg .Theme ;_ccg *_eg .CT_ColorMappingOverride ;};func _ddccg (_eaegf *bool )bool {return _eaegf !=nil &&*_eaegf };func (_cdc *textboxContext )addCurrentParagraph (){_cdc ._cfd =_cdc ._cfg ._gagg +_cdc ._cfg ._ffdf +_cdc ._cfg ._edec +_cdc ._cfg ._cge ;_cdc ._ageb =append (_cdc ._ageb ,_cdc ._cfg );_cdc .alignParagraph ();};func _gfdf (_faa ,_ddea *_eg .CT_TextBody )(*_eg .CT_TextBodyProperties ,*_eg .CT_TextListStyle ){if _faa ==nil &&_ddea ==nil {return nil ,nil ;};if _faa ==nil {return _ddea .BodyPr ,_ddea .LstStyle ;};if _ddea ==nil {return _faa .BodyPr ,_faa .LstStyle ;};_fcgb ,_dcde :=_faa .BodyPr ,_faa .LstStyle ;_dbd ,_fega :=_ddea .BodyPr ,_ddea .LstStyle ;_bccd :=_gbfd (_fcgb ,_dbd );_adga :=_bcb (_dcde ,_fega );return _bccd ,_adga ;};func _dee (_bdfa *_ad .CT_Shape )(_ad .ST_PlaceholderType ,*uint32 ){if _fdfb :=_bdfa .NvSpPr ;_fdfb !=nil {if _degf :=_fdfb .NvPr ;_degf !=nil {if _bde :=_degf .Ph ;_bde !=nil {return _bde .TypeAttr ,_bde .IdxAttr ;};};};return _ad .ST_PlaceholderTypeUnset ,nil ;};func _abce (_dddg int ,_cfcf bool )string {_defe :=(_dddg -1)/26+1;_ffde :=byte ((_dddg -1)%26);if _cfcf {_ffde +=byte (65);}else {_ffde +=byte (97);};_dfcc :=_dc .NewBuffer ([]byte {});for _acd :=0;_acd < _defe ;_acd ++{_dfcc .Write ([]byte {_ffde });};return _dfcc .String ();};func (_cga *textboxContext )newParagraph (){_cbae :=&paragraph {};_cbae ._gagg =_cga ._cfd ;_cga ._cfg =_cbae ;};func (_bbd *convertContext )makeSlide (){_fge :=_bbd ._ddcd .X ().CSld ;if _fge ==nil {return ;};_dbg :=&background {};if _dg :=_fge .Bg ;_dg !=nil {if _gg :=_dg .BgPr ;_gg !=nil {if _gg .NoFill ==nil {if _ecc :=_gg .SolidFill ;_ecc !=nil {_da ,_cg :=_bbd .getColorFromSolidFill (_ecc );if _da !=nil {_dbg ._eabg =_da ;_dbg ._dce =_cg ;};}else if _acb :=_gg .BlipFill ;_acb !=nil {_dbg ._cdfd =_acb ;};};};};_bbd ._ceff =_dbg ;if _dbaf :=_fge .SpTree ;_dbaf !=nil {for _ ,_cc :=range _dbaf .Choice {if _cc !=nil {for _ ,_ddd :=range _cc .Sp {if _ddd !=nil {_aaa :=_bbd .getShapes (_ddd );_bbd ._ggba =append (_bbd ._ggba ,_aaa ...);};};for _ ,_cbf :=range _cc .GraphicFrame {if _cbf !=nil {var _cdf ,_egd ,_dab ,_bge float64 ;if _aff :=_cbf .Xfrm ;_aff !=nil {_cdf ,_egd ,_dab ,_bge =_gf .GetDataFromXfrm (_aff );};if _ebag :=_cbf .Graphic ;_ebag !=nil {if _ff :=_ebag .GraphicData ;_ff !=nil {for _ ,_eab :=range _ff .Any {if _aebe ,_cde :=_eab .(*_aa .Chart );_cde {_efe ,_fc :=_bbd .makePdfBlockFromChart (_aebe ,_dab ,_bge );if _fc !=nil {_ec .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_fc );};if _efe !=nil {_efe .SetPos (_cdf ,_egd );_bbd ._ggba =append (_bbd ._ggba ,_efe );};}else if _acg ,_cf :=_eab .(*_eg .Tbl );_cf {_ddf :=_bbd .makePdfBlockFromTable (_acg ,_dab );if _ddf !=nil {_dde :=_ae .NewBlock (_dab ,_bge );_dde .SetPos (_cdf ,_egd );_dde .Draw (_ddf );_bbd ._ggba =append (_bbd ._ggba ,_dde );};};};};};};};for _ ,_cba :=range _cc .CxnSp {if _cba !=nil {_fb :=_bbd .getConnectors (_cba );_bbd ._ggba =append (_bbd ._ggba ,_fb ...);};};for _ ,_bee :=range _cc .Pic {if _bee !=nil {var _abc ,_fbb ,_ed ,_dec float64 ;if _cgg :=_bee .SpPr ;_cgg !=nil {if _ggd :=_cgg .Xfrm ;_ggd !=nil {_abc ,_fbb ,_ed ,_dec =_gf .GetDataFromXfrm (_ggd );};};if _cdd :=_bee .BlipFill ;_cdd !=nil {_bgb :=_bbd .getShapeFromBlipFill (_cdd ,_abc ,_fbb ,_ed ,_dec );_bbd ._ggba =append (_bbd ._ggba ,_bgb );};};};};};};};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func (_cfe *convertContext )getShapeFromBlipFill (_afggg *_eg .CT_BlipFillProperties ,_bfef ,_bdf ,_dadbf ,_edgb float64 )_ae .Drawable {_bdgd ,_bdda ,_gbb :=_cfe .makePdfImageFromBlipFill (_afggg );if _gbb !=nil {_ec .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074\u0020\u006d\u0061\u006b\u0065\u0020\u0050D\u0046\u0020\u0069\u006d\u0061\u0067e\u0020\u0066\u0072\u006f\u006d\u0020\u0042\u006c\u0069\u0070\u0046\u0069\u006cl\u003a\u0020\u0025\u0073",_gbb );return nil ;};if _bdgd ==nil {return nil ;};if _eda :=_afggg .Tile ;_eda !=nil {_bdgd =_cfe .tileImage (_bdgd ,_afggg .Tile ,_dadbf ,_edgb );};if _adgd :=_afggg .Stretch ;_adgd !=nil {_bdgd ,_bfef ,_bdf =_cfe .stretchImage (_bdgd ,_afggg .Stretch ,_bfef ,_bdf ,_dadbf ,_edgb );};if len (_bdda )==0{_bdgd .SetPos (_bfef ,_bdf );return _bdgd ;};_bdgd =_cfe .applyBlipEffectsOnImg (_bdgd ,_bfef ,_bdf ,_bdda );_bdgd .SetPos (_bfef ,_bdf );return _bdgd ;};func (_agfe *textboxContext )addPrefix (_fcc *prefixData ,_bfc *_ae .TextStyle ){_acgd :=_bdbc (_fcc ._eedb );_bggc :=*_bfc ;if _fcc ._gacg {_bggc .Font =_gf .AssignStdFontByName (_bggc ,"\u0053\u0079\u006d\u0062\u006f\u006c");};for _ ,_cbcb :=range _acgd {_cbcb ._cfaf =&_bggc ;_agfe .addTextSymbol (_cbcb );};_gfb :=-(_fcc ._aeg +_agfe ._dfcd ._facb );if _gfb < 0{_gfb =0;};_dfd :=&symbol {_cbfe :"\u0020",_feff :_gfb };_agfe .addTextSymbol (_dfd );_agfe ._dfcd ._eeg +=(_fcc ._aeg +_fcc ._cff );};func (_eec *textboxContext )addTextRun (_ebee *_eg .EG_TextRun ,_ddeb *_eg .CT_TextCharacterProperties ,_fba _ae .Color ,_ecgb *prefixData ){if _ggcb :=_ebee .Br ;_ggcb !=nil {_eec .addCurrentWordToParagraph ();_eec .newLine ();_eec .newWord ();}else if _adaf :=_ebee .R ;_adaf !=nil {var _efd _ae .Color ;if _adaf .RPr .SolidFill !=nil {_efd ,_ =_eec ._gdf .getColorFromSolidFill (_adaf .RPr .SolidFill );}else if _fba !=nil {_efd =_fba ;}else if _ddeb .SolidFill !=nil {_efd ,_ =_eec ._gdf .getColorFromSolidFill (_ddeb .SolidFill );}else {_efd =_ae .ColorBlack ;};_afag :=_fddc (_adaf .RPr ,_ddeb );_dbcg ,_bcggg ,_abfd ,_edb :=_eec ._gdf .makeStyleFromRPr (_afag );_dbcg .Color =_efd ;if _ecgb !=nil {_eec .addPrefix (_ecgb ,_dbcg );};_fbc :=_bdbc (_adaf .T );for _ ,_ffad :=range _fbc {_ffad ._cfaf =_dbcg ;_ffad ._efg =_bcggg ;_ffad ._gcc =_abfd ;_ffad ._egb =_edb ;if _afag .CapAttr ==_eg .ST_TextCapsTypeAll {_ffad ._cbfe =_ee .ToUpper (_ffad ._cbfe );};_eec .addTextSymbol (_ffad );};};};
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
type FontStyle =_gf .FontStyle ;func (_gffb *textboxContext )alignParagraph (){_afcb :=_gffb ._cfg ;if _afcb ._gafd ==_eg .ST_TextAlignTypeL {return ;};_dabcb :=len (_afcb ._egdc )-1;for _ddac ,_cefb :=range _afcb ._egdc {_gfda :=true ;_ddcbd :=len (_cefb ._cgc );_fcbb :=0.0;for _cdgd :=len (_cefb ._cgc )-1;_cdgd >=0;_cdgd --{_cfbg :=_cefb ._cgc [_cdgd ];if _gfda &&_cfbg ._aaf {_ddcbd =_cdgd ;}else {_gfda =false ;for _ ,_dcfe :=range _cfbg ._gfa {_fcbb +=_dcfe ._feff ;};};};_cefb ._cgc =_cefb ._cgc [:_ddcbd ];_feggg :=_cefb ._ffb -_cefb ._beab -_fcbb ;switch _afcb ._gafd {case _eg .ST_TextAlignTypeR :_cefb .moveRight (_feggg );case _eg .ST_TextAlignTypeCtr :_cefb .moveRight (_feggg /2);case _eg .ST_TextAlignTypeJust :if _ddac !=_dabcb {_becc :=[]*word {};for _ ,_dfgd :=range _cefb ._cgc {if _dfgd ._aaf {_becc =append (_becc ,_dfgd );};};_ggdb :=_feggg /float64 (len (_becc ));for _ ,_fdfc :=range _becc {_fdfc ._facb +=_ggdb ;};var _gacf *word ;for _ ,_dggg :=range _cefb ._cgc {if _gacf !=nil {_dggg ._eeg =_gacf ._eeg +_gacf ._facb ;};_gacf =_dggg ;};};};};};func (_feea *textboxContext )assignPropsToCurrentParagraph (_dccca *_eg .CT_TextParagraphProperties ){_gcbb :=12.4;if _dccca ==nil {_feea ._cfg ._ccga =_gcbb ;return ;};if _aeba :=_dccca .DefRPr ;_aeba !=nil {_fbbd :=_aeba .SzAttr ;if _fbbd !=nil {_gcgc :=float64 (*_fbbd )/1200;if _gcbb <=_gcgc {_gcbb =_gcgc ;};};};if _gcad :=_dccca .MarLAttr ;_gcad !=nil {_feea ._cfg ._gbfe =_be .FromEMU (int64 (*_gcad ));};_feea ._cfg ._gdda =_feea ._eedg ;if _bda :=_dccca .MarRAttr ;_bda !=nil {_feea ._cfg ._gdda -=_be .FromEMU (int64 (*_bda ));};if _ccdd :=_dccca .IndentAttr ;_ccdd !=nil {_feea ._cfg ._bfea =_be .FromEMU (int64 (*_ccdd ));};if _cbcd :=_dccca .LatinLnBrkAttr ;_cbcd !=nil {_feea ._cfg ._caec =*_cbcd ;};if _bdc :=_dccca .LnSpc ;_bdc !=nil {if _ddde :=_bdc .SpcPct ;_ddde !=nil {if _ggf :=_ddde .ValAttr .ST_TextSpacingPercent ;_ggf !=nil {_gcbb =float64 (*_ggf )/5000;};};};var _ccee float64 ;if _ggcd :=_dccca .SpcBef ;_ggcd !=nil {if _ebd :=_ggcd .SpcPts ;_ebd !=nil {_ccee =float64 (_ebd .ValAttr )/100;};};_bbeb :=_feea ._ageb ;if len (_bbeb )> 0{_ccee -=_bbeb [len (_bbeb )-1]._cge ;if _ccee < 0{_ccee =0;};};_feea ._cfg ._ffdf =_ccee ;if _aaaf :=_dccca .SpcAft ;_aaaf !=nil {if _fcdc :=_aaaf .SpcPts ;_fcdc !=nil {_feea ._cfg ._cge =float64 (_fcdc .ValAttr )/100;};};_feea ._cfg ._ccga =_gcbb ;_feea ._cfg ._gafd =_dccca .AlgnAttr ;};func _fggf (_dfdg ,_efaae *_eg .CT_TablePartStyle )*_eg .CT_TablePartStyle {_efda :=_eg .NewCT_TablePartStyle ();if _dfdg !=nil {*_efda =*_dfdg ;};if _efaae ==nil {return _efda ;};if _efda .TcTxStyle ==nil {_efda .TcTxStyle =_efaae .TcTxStyle ;}else {_efda .TcTxStyle =_cgfd (_efda .TcTxStyle ,_efaae .TcTxStyle );};if _efda .TcStyle ==nil {_efda .TcStyle =_efaae .TcStyle ;}else {_efda .TcStyle =_dcgc (_efda .TcStyle ,_efaae .TcStyle );};return _efda ;};func _gbfd (_dfa ,_eebeg *_eg .CT_TextBodyProperties )*_eg .CT_TextBodyProperties {_cbb :=_eg .NewCT_TextBodyProperties ();if _dfa !=nil {*_cbb =*_dfa ;};if _eebeg ==nil {return _cbb ;};if _cbb .RotAttr ==nil {_cbb .RotAttr =_eebeg .RotAttr ;};if _cbb .SpcFirstLastParaAttr ==nil {_cbb .SpcFirstLastParaAttr =_eebeg .SpcFirstLastParaAttr ;};if _cbb .VertOverflowAttr ==_eg .ST_TextVertOverflowTypeUnset {_cbb .VertOverflowAttr =_eebeg .VertOverflowAttr ;};if _cbb .HorzOverflowAttr ==_eg .ST_TextHorzOverflowTypeUnset {_cbb .HorzOverflowAttr =_eebeg .HorzOverflowAttr ;};if _cbb .VertAttr ==_eg .ST_TextVerticalTypeUnset {_cbb .VertAttr =_eebeg .VertAttr ;};if _cbb .WrapAttr ==_eg .ST_TextWrappingTypeUnset {_cbb .WrapAttr =_eebeg .WrapAttr ;};if _cbb .LInsAttr ==nil {_cbb .LInsAttr =_eebeg .LInsAttr ;};if _cbb .TInsAttr ==nil {_cbb .TInsAttr =_eebeg .TInsAttr ;};if _cbb .RInsAttr ==nil {_cbb .RInsAttr =_eebeg .RInsAttr ;};if _cbb .BInsAttr ==nil {_cbb .BInsAttr =_eebeg .BInsAttr ;};if _cbb .NumColAttr ==nil {_cbb .NumColAttr =_eebeg .NumColAttr ;};if _cbb .SpcColAttr ==nil {_cbb .SpcColAttr =_eebeg .SpcColAttr ;};if _cbb .RtlColAttr ==nil {_cbb .RtlColAttr =_eebeg .RtlColAttr ;};if _cbb .AnchorAttr ==_eg .ST_TextAnchoringTypeUnset {_cbb .AnchorAttr =_eebeg .AnchorAttr ;};if _cbb .AnchorCtrAttr ==nil {_cbb .AnchorCtrAttr =_eebeg .AnchorCtrAttr ;};if _cbb .ForceAAAttr ==nil {_cbb .ForceAAAttr =_eebeg .ForceAAAttr ;};if _cbb .UprightAttr ==nil {_cbb .UprightAttr =_eebeg .UprightAttr ;};if _cbb .CompatLnSpcAttr ==nil {_cbb .CompatLnSpcAttr =_eebeg .CompatLnSpcAttr ;};if _cbb .PrstTxWarp ==nil {_cbb .PrstTxWarp =_eebeg .PrstTxWarp ;};if _cbb .NoAutofit ==nil {_cbb .NoAutofit =_eebeg .NoAutofit ;};if _cbb .NormAutofit ==nil {_cbb .NormAutofit =_eebeg .NormAutofit ;};if _cbb .SpAutoFit ==nil {_cbb .SpAutoFit =_eebeg .SpAutoFit ;};if _cbb .Scene3d ==nil {_cbb .Scene3d =_eebeg .Scene3d ;};if _cbb .Sp3d ==nil {_cbb .Sp3d =_eebeg .Sp3d ;};if _cbb .FlatTx ==nil {_cbb .FlatTx =_eebeg .FlatTx ;};if _cbb .ExtLst ==nil {_cbb .ExtLst =_eebeg .ExtLst ;};return _cbb ;};func (_agec *textboxContext )newWord (){_agec ._dfcd =&word {_aaf :true ,_eeg :_agec ._cfbb ._caf }};type romanMatch struct{_cgf int ;_gdc string ;};func (_ffae *convertContext )getPhData (_cgef *_ad .CT_Shape )(*_eg .CT_Transform2D ,*_eg .CT_TextBodyProperties ,*_eg .CT_TextListStyle ,bool ,bool ){_ageg ,_daf :=_dee (_cgef );_dccfb :=_daf ==nil ;_dbed ,_ddec ,_fbgfg ,_gdcg :=_ggfe (_ffae ._bffg .CSld ,_ageg ,_daf ,_dccfb );_bfb ,_ggea ,_ceg ,_eccf :=_ggfe (_ffae ._efec .CSld ,_ageg ,_daf ,_dccfb );if _bfb ==nil {_bfb =_dbed ;};_abad ,_dffe :=_gfdf (_ggea ,_ddec );var _geda ,_bdfg bool ;if _ceg ==nil {if _fbgfg !=nil {_geda =*_fbgfg ;};}else {_geda =*_ceg ;};if _eccf ==nil {if _gdcg !=nil {_bdfg =*_gdcg ;};}else {_bdfg =*_eccf ;};return _bfb ,_abad ,_dffe ,_geda ,_bdfg ;};func _febee (_bccg float64 )float64 {return _bccg *_be .Millimeter };func _eecfa (_edgd *_eg .CT_TextCharacterProperties ,_cefg *_eg .CT_TableStyleTextStyle )*_eg .CT_TextCharacterProperties {_eegb :=_eg .NewCT_TextCharacterProperties ();if _edgd !=nil {*_eegb =*_edgd ;};if _cefg ==nil {return _eegb ;};if _eegb .BAttr ==nil &&_cefg .BAttr !=_eg .ST_OnOffStyleTypeUnset {_efed :=_cefg .BAttr ==_eg .ST_OnOffStyleTypeOn ;_eegb .BAttr =&_efed ;};if _eegb .IAttr ==nil &&_cefg .IAttr !=_eg .ST_OnOffStyleTypeUnset {_dagfg :=_cefg .IAttr ==_eg .ST_OnOffStyleTypeOn ;_eegb .IAttr =&_dagfg ;};if _eegb .NoFill ==nil &&_eegb .SolidFill ==nil {_eegb .SolidFill =_eg .NewCT_SolidColorFillProperties ();_eegb .SolidFill .ScrgbClr =_cefg .ScrgbClr ;_eegb .SolidFill .SrgbClr =_cefg .SrgbClr ;_eegb .SolidFill .HslClr =_cefg .HslClr ;_eegb .SolidFill .SysClr =_cefg .SysClr ;_eegb .SolidFill .SchemeClr =_cefg .SchemeClr ;_eegb .SolidFill .PrstClr =_cefg .PrstClr ;};if _degg :=_cefg .Font ;_degg !=nil &&_eegb .Latin ==nil &&_eegb .Ea ==nil &&_eegb .Cs ==nil {_eegb .Latin =_degg .Latin ;_eegb .Ea =_degg .Ea ;_eegb .Cs =_degg .Cs ;};return _eegb ;};var _ddb =[]romanMatch {romanMatch {1000,"\u006d"},romanMatch {900,"\u0063\u006d"},romanMatch {500,"\u0064"},romanMatch {400,"\u0063\u0064"},romanMatch {100,"\u0063"},romanMatch {90,"\u0078\u0063"},romanMatch {50,"\u006c"},romanMatch {40,"\u0078\u006c"},romanMatch {10,"\u0078"},romanMatch {9,"\u0069\u0078"},romanMatch {5,"\u0076"},romanMatch {4,"\u0069\u0076"},romanMatch {1,"\u0069"}};func _dcg (_fda int ,_aafb bool )string {_efea :=_dc .NewBuffer ([]byte {});for _ ,_acgc :=range _ddb {for {if _fda < _acgc ._cgf {break ;};_efea .WriteString (_acgc ._gdc );_fda -=_acgc ._cgf ;};};_gead :=_efea .String ();if _aafb {_gead =_ee .ToUpper (_gead );};return _gead ;};func (_fadc *textboxContext )alignSymbolsVertically (){for _ ,_bgbde :=range _fadc ._ageb {for _ ,_bdge :=range _bgbde ._egdc {_bgeee :=0.0;for _ ,_bcce :=range _bdge ._cgc {for _ ,_eebd :=range _bcce ._gfa {if _eebd ._fbfc > _bgeee {_bgeee =_eebd ._fbfc ;};};};for _ ,_beaf :=range _bdge ._cgc {for _ ,_gbg :=range _beaf ._gfa {if _gbg ._befb < _bgeee {_gbg ._daaf =_bgeee -_gbg ._befb ;};};};};};};var _ddacf =map[string ]int32 {"\u0076":9830,"\u00d8":8594,"\u00fc":8730};
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
func RegisterFont (name string ,style FontStyle ,font *_f .PdfFont ){_gf .RegisterFont (name ,style ,font );};type line struct{_dgae float64 ;_beab float64 ;_ffb float64 ;_caf float64 ;_ggde float64 ;_cgc []*word ;};type symbol struct{_cbfe string ;_ffe float64 ;_fbfc float64 ;_befb float64 ;_daaf float64 ;_feff float64 ;_cfaf *_ae .TextStyle ;_cbacd string ;_efg bool ;_gcc bool ;_egb bool ;};func (_bdgg *convertContext )getStyleColors (_eegg *_eg .CT_ShapeStyle )(_ae .Color ,_ae .Color ,_ae .Color ){var _gfdad ,_acdg ,_edgbf _ae .Color ;if _cfbe :=_eegg .LnRef ;_cfbe !=nil {_acdg =_bdgg .getColorFromMatrixReference (_cfbe );};if _agb :=_eegg .FillRef ;_agb !=nil {_edgbf =_bdgg .getColorFromMatrixReference (_agb );};if _bbbf :=_eegg .FontRef ;_bbbf !=nil {_gfdad =_bdgg .getColorFromFontReference (_bbbf );};return _gfdad ,_edgbf ,_acdg ;};func _cgfd (_ccgd ,_fabf *_eg .CT_TableStyleTextStyle )*_eg .CT_TableStyleTextStyle {_bgdf :=_eg .NewCT_TableStyleTextStyle ();if _ccgd !=nil {*_bgdf =*_ccgd ;};if _fabf ==nil {return _bgdf ;};if _bgdf .BAttr ==_eg .ST_OnOffStyleTypeUnset {_bgdf .BAttr =_fabf .BAttr ;};if _bgdf .IAttr ==_eg .ST_OnOffStyleTypeUnset {_bgdf .IAttr =_fabf .IAttr ;};if _bgdf .Font ==nil {_bgdf .Font =_fabf .Font ;};if _bgdf .FontRef ==nil {_bgdf .FontRef =_fabf .FontRef ;};if _bgdf .ScrgbClr ==nil {_bgdf .ScrgbClr =_fabf .ScrgbClr ;};if _bgdf .SrgbClr ==nil {_bgdf .SrgbClr =_fabf .SrgbClr ;};if _bgdf .HslClr ==nil {_bgdf .HslClr =_fabf .HslClr ;};if _bgdf .SysClr ==nil {_bgdf .SysClr =_fabf .SysClr ;};if _bgdf .SchemeClr ==nil {_bgdf .SchemeClr =_fabf .SchemeClr ;};if _bgdf .PrstClr ==nil {_bgdf .PrstClr =_fabf .PrstClr ;};return _bgdf ;};func (_fcdeg *convertContext )renderCurrentStateToGoImage ()(_g .Image ,error ){_adaae :=_gf .MakeTempCreator (_fcdeg ._gbag ,_fcdeg ._febg );_adaae .NewPage ();for _ ,_gdab :=range _fcdeg ._ggba {if _gdab !=nil {_adaae .MoveTo (0,0);_adaae .Draw (_gdab );};};_bccc ,_fbcg :=_gf .GetPageFromCreator (_adaae );if _fbcg !=nil {return nil ,_fbcg ;};return _cd .NewImageDevice ().Render (_bccc );};type textboxContext struct{_gdf *convertContext ;_eedg float64 ;_cfcd float64 ;_febfb *_ae .Creator ;_cfd float64 ;_ageb []*paragraph ;_cfg *paragraph ;_cfbb *line ;_dfcd *word ;_aeeg bool ;};func (_dadb *textboxContext )addTextSymbol (_gdgee *symbol ){_fgd :=_ae .New ();_cfaa :=_fgd .NewStyledParagraph ();_cfaa .SetMargins (0,0,0,0);_gcab :=_cfaa .Append (_gdgee ._cbfe );_gbacd :=0.0;if _gdgee ._cfaf !=nil {_gcab .Style =*_gdgee ._cfaf ;if _gdgee ._cfaf .CharSpacing !=0{_gbacd =_gdgee ._cfaf .CharSpacing ;};};_gdgee ._befb =_cfaa .Height ();_gdgee ._fbfc =_cfaa .Height ()*1.2;if _gdgee ._fbfc < _dadb ._cfg ._ccga {_gdgee ._fbfc =_dadb ._cfg ._ccga ;};if _gdgee ._feff ==0{_gdgee ._feff =_cfaa .Width ()+_gbacd ;};if len (_dadb ._dfcd ._gfa )> 0{_ddfb :=_dadb ._dfcd ._gfa [len (_dadb ._dfcd ._gfa )-1]._cbfe ;if _dadb ._cfg ._caec ||_gf .IsNoSpaceLanguage (_ddfb )||(_ddfb =="\u0020")!=(_gdgee ._cbfe =="\u0020"){_dadb .addCurrentWordToParagraph ();_dadb .newWord ();};};_dadb ._dfcd ._gfa =append (_dadb ._dfcd ._gfa ,_gdgee );_gdgee ._ffe =_dadb ._dfcd ._facb ;_dadb ._dfcd ._facb +=_gdgee ._feff ;if _gdgee ._cbfe !="\u0020"{_dadb ._dfcd ._aaf =false ;};};func (_aada *convertContext )makePdfDivisionFromTxBody (_cfc *_eg .CT_TextBody ,_ede ,_agc float64 ,_gfe *_eg .CT_TableStyleTextStyle )*_ae .Division {_bcgb :=_aada ._gacd .NewDivision ();_dfgb :=_aada ._aeca ;_adg :=_eg .ST_TextAnchoringTypeT ;if _gaf :=_cfc .BodyPr ;_gaf !=nil {if _abg :=_gaf .AnchorAttr ;_abg !=_eg .ST_TextAnchoringTypeUnset {_adg =_gaf .AnchorAttr ;};};if _def :=_cfc .LstStyle ;_def !=nil {var _deb *_eg .CT_TextParagraphProperties ;if _def .Lvl1pPr !=nil {_deb =_def .Lvl1pPr ;}else {_deb =_aada ._bdga [0];};_dfgb =_cbdb (_deb ,_cbdb (_def .DefPPr ,_dfgb ));};for _ ,_aef :=range _cfc .P {if _aef !=nil {_dcb :=_aada ._gacd .NewStyledParagraph ();_bddg :=_cbdb (_aef .PPr ,_dfgb );_cbaf :=_fddc (_aef .EndParaRPr ,_bddg .DefRPr );if len (_aef .EG_TextRun )==0{_dcb .Append ("\u000a");_bcgb .Add (_dcb );continue ;};for _ ,_fcd :=range _aef .EG_TextRun {if _efef :=_fcd .Br ;_efef !=nil {_dcb .Append ("\u000a");}else if _dga :=_fcd .R ;_dga !=nil {_ege :=_eecfa (_dga .RPr ,_gfe );_ege =_fddc (_ege ,_cbaf );var _caeb _ae .Color ;if _ege .SolidFill !=nil {_caeb ,_ =_aada .getColorFromSolidFill (_ege .SolidFill );}else {_caeb =_ae .ColorBlack ;};_gdge ,_fbf ,_cad ,_ :=_aada .makeStyleFromRPr (_ege );_gdge .Color =_caeb ;if _fbf {_gdge .TextRise =0.5;}else if _cad {_gdge .TextRise =-0.5;};_fag :=_dga .T ;if _ege .CapAttr ==_eg .ST_TextCapsTypeAll {for _ ,_dgeb :=range _fag {_dgeb =[]rune (_ee .ToUpper (string (_dgeb )))[0];};};_cbac :=_dcb .Append (_fag );_cbac .Style =*_gdge ;};};_ =_adg ;_bcgb .Add (_dcb );};};return _bcgb ;};func (_afed *line )moveRight (_fgda float64 ){for _ ,_aegg :=range _afed ._cgc {_aegg ._eeg +=_fgda ;};};func (_afg *convertContext )tileImage (_cgge *_ae .Image ,_cbg *_eg .CT_TileInfoProperties ,_ebb ,_bcg float64 )*_ae .Image {_gdb ,_gde :=1.0,1.0;if _dff :=_cbg .SxAttr ;_dff !=nil {_gdb =_gf .FromSTPercentage (_dff );};if _bgf :=_cbg .SyAttr ;_bgf !=nil {_gde =_gf .FromSTPercentage (_bgf );};_ebe :=_gf .MakeTempCreator (_ebb ,_bcg );_cgge .Scale (_gdb ,_gde );_aga ,_cce :=_cgge .Width (),_cgge .Height ();var _bbda ,_dfb float64 ;if _bfe :=_cbg .TxAttr ;_bfe !=nil {_bbda =_be .FromEMU (_gf .FromSTCoordinate (*_bfe ));};if _bdg :=_cbg .TyAttr ;_bdg !=nil {_dfb =_be .FromEMU (_gf .FromSTCoordinate (*_bdg ));};if _bbda > 0{_bbda -=_aga ;};if _dfb > 0{_dfb -=_cce ;};_aab :=_afg ._gbag /_aga +1;_eaec :=_afg ._febg /_cce +1;for _gfc :=0.0;_gfc <=_aab ;_gfc ++{_eeb :=_gfc *_aga ;for _ead :=0.0;_ead <=_eaec ;_ead ++{_fd :=_ead *_cce ;_cgge .SetPos (_eeb +_bbda ,_fd +_dfb );_ebe .Draw (_cgge );};};_cbd ,_bagd :=_gf .GetPageFromCreator (_ebe );if _bagd !=nil {_ec .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074 \u0067\u0065\u0074\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0066\u0072\u006fm\u0020\u0063\u0072\u0065\u0061\u0074\u006fr\u003a\u0020\u0025\u0073",_bagd );return nil ;};_eeba ,_bagd :=_cd .NewImageDevice ().Render (_cbd );if _bagd !=nil {_ec .Log .Debug ("\u0043\u0061\u006eno\u0074\u0020\u0072\u0065\u006e\u0064\u0065\u0072\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_bagd );return nil ;};_efc ,_bagd :=_afg ._gacd .NewImageFromGoImage (_eeba );if _bagd !=nil {_ec .Log .Debug ("\u0043\u0061nn\u006f\u0074\u0020c\u0072\u0065\u0061\u0074e i\u006dag\u0065\u0020\u0066\u0072\u006f\u006d\u0020Go\u0049\u006d\u0061\u0067\u0065\u003a\u0020%\u0073",_bagd );return nil ;};return _efc ;};func (_bbb *textboxContext )addCurrentWordToParagraph (){if _bbb ._aeeg &&_bbb ._cfbb ._caf +_bbb ._dfcd ._facb > _bbb ._cfbb ._ffb {_bbb .newLine ();};if !_bbb ._dfcd ._aaf ||len (_bbb ._cfbb ._cgc )> 0{_bbb ._dfcd ._eeg =_bbb ._cfbb ._caf ;_bbb ._cfbb ._cgc =append (_bbb ._cfbb ._cgc ,_bbb ._dfcd );_bbb ._cfbb ._caf +=_bbb ._dfcd ._facb ;for _ ,_bcggf :=range _bbb ._dfcd ._gfa {_bbb .adjustHeights (_bcggf ._fbfc );};};};func (_eecf *convertContext )getColorFromFontReference (_acbc *_eg .CT_FontReference )_ae .Color {var _cgcg _ae .Color ;var _ggdea string ;if _efbg :=_acbc .SrgbClr ;_efbg !=nil {_ggdea =_efbg .ValAttr ;}else if _cdgf :=_acbc .SchemeClr ;_cdgf !=nil {_ggdea =_gf .GetColorStringFromDmlColor (_eecf ._eff .GetColorBySchemeColor (_cdgf .ValAttr ));_ggdea =_gf .AdjustColor (_ggdea ,_cdgf .EG_ColorTransform );};if _ggdea !=""{_cgcg =_ae .ColorRGBFromHex ("\u0023"+_ggdea );};return _cgcg ;};func (_afgb *convertContext )getShapesFromSpPr (_ggdfd *_eg .CT_ShapeProperties ,_abf *_eg .CT_ShapeStyle ,_cbdg bool )([]_ae .Drawable ,float64 ,float64 ,float64 ,float64 ,_ae .Color ,bool ){_bdbg :=[]_ae .Drawable {};var _fbg ,_cdea ,_bab ,_bcge ,_eaf float64 ;var _dfee ,_dad ,_gdg ,_abff _ae .Color ;var _gge *_eg .CT_BlipFillProperties ;_eef ,_fac :=1.0,1.0;if _abf !=nil {_dfee ,_dad ,_abff =_afgb .getStyleColors (_abf );};if _gffe :=_ggdfd .Ln ;_gffe !=nil {if _gffe .NoFill !=nil {_gdg ,_eaf =nil ,0;}else {_gdg ,_eaf ,_eef =_afgb .getInfoFromLn (_gffe );if _gdg ==nil {_gdg =_abff ;};};};if _ggdfd .NoFill !=nil {_dad ,_fac =nil ,0;}else if _cbdg {_dad =_afgb ._ceff ._eabg ;_fac =_afgb ._ceff ._dce ;_gge =_afgb ._ceff ._cdfd ;}else if _adaa :=_ggdfd .SolidFill ;_adaa !=nil {_dad ,_fac =_afgb .getColorFromSolidFill (_adaa );};var _afgbg bool ;if _bcf :=_ggdfd .Xfrm ;_bcf !=nil {_fbg ,_cdea ,_bab ,_bcge =_gf .GetDataFromXfrm (_bcf );_afgbg =true ;};if _aee :=_ggdfd .CustGeom ;_aee !=nil {_fegg :=[]_db .Point {};_abcb ,_dag :=1.0,1.0;if _agg :=_aee .PathLst ;_agg !=nil {for _ ,_dfga :=range _agg .Path {if _dfga !=nil {if _cfbd :=_dfga .WAttr ;_cfbd !=nil {_abcb =_bab /_be .FromEMU (*_cfbd );};if _eed :=_dfga .HAttr ;_eed !=nil {_dag =_bcge /_be .FromEMU (*_eed );};for _ ,_cbe :=range _dfga .Close {if _cbe !=nil {};};for _ ,_eabe :=range _dfga .MoveTo {if _eabe !=nil &&_eabe .Pt !=nil {_ggc ,_eafa :=_dddb (_eabe .Pt );_fegg =append (_fegg ,_db .Point {X :_ggc *_abcb +_fbg ,Y :_eafa *_dag +_cdea });};};for _ ,_gad :=range _dfga .LnTo {if _gad !=nil &&_gad .Pt !=nil {_cae ,_ggg :=_dddb (_gad .Pt );_fegg =append (_fegg ,_db .Point {X :_cae *_abcb +_fbg ,Y :_ggg *_dag +_cdea });};};_ade :=_afgb ._gacd .NewPolygon ([][]_db .Point {_fegg });_ade .SetFillColor (_dad );_ade .SetFillOpacity (_fac );_ade .SetBorderWidth (_eaf );if _gdg !=nil {_ade .SetBorderColor (_gdg );_ade .SetBorderOpacity (_eef );};_bdbg =append (_bdbg ,_ade );};};};};if _bgd :=_ggdfd .PrstGeom ;_bgd !=nil {switch _bgd .PrstAttr {case _eg .ST_ShapeTypeRect :if _gge !=nil {_bga :=_afgb .getShapeFromBlipFill (_gge ,_fbg ,_cdea ,_bab ,_bcge );_bdbg =append (_bdbg ,_bga );}else {_ffd :=_afgb ._gacd .NewRectangle (_fbg ,_cdea ,_bab ,_bcge );_ffd .SetFillColor (_dad );_ffd .SetFillOpacity (_fac );_ffd .SetBorderWidth (_eaf );if _gdg !=nil {_ffd .SetBorderColor (_gdg );_ffd .SetBorderOpacity (_eef );};_bdbg =append (_bdbg ,_ffd );};case _eg .ST_ShapeTypeLine :_gbd :=_afgb ._gacd .NewLine (_fbg ,_cdea ,_fbg +_bab ,_cdea +_bcge );_gbd .SetLineWidth (_eaf );if _gdg !=nil {_gbd .SetColor (_gdg );};_bdbg =append (_bdbg ,_gbd );};};return _bdbg ,_fbg ,_cdea ,_bab ,_bcge ,_dfee ,_afgbg ;};func (_gff *convertContext )makePdfBlockFromChart (_dba *_aa .Chart ,_ca ,_cb float64 )(*_ae .Block ,error ){_fg :=_dba .CT_RelId .IdAttr ;_ba :=_gff ._ddcd .GetChartSpaceByRelId (_fg );if _ba ==nil {return nil ,_ef .New ("\u004e\u006f\u0020\u0063\u0068\u0061\u0072\u0074\u0073\u0070\u0061\u0063\u0065");};var _gd *_eg .Theme ;_eb :=_gff ._eff .Themes ();if len (_eb )> 0{_gd =_eb [0];};return _gf .MakeBlockFromChartSpace (_ba ,_ca ,_cb ,_gd );};func (_fcbbe *convertContext )getColorFromMatrixReference (_cagg *_eg .CT_StyleMatrixReference )_ae .Color {if _cagg ==nil {return nil ;};var _fdfa _ae .Color ;var _beafa string ;if _bbbe :=_cagg .SrgbClr ;_bbbe !=nil {_beafa =_bbbe .ValAttr ;}else if _gaac :=_cagg .SchemeClr ;_gaac !=nil {_beafa =_gf .GetColorStringFromDmlColor (_fcbbe ._eff .GetColorBySchemeColor (_gaac .ValAttr ));_beafa =_gf .AdjustColor (_beafa ,_gaac .EG_ColorTransform );};if _beafa !=""{_fdfa =_ae .ColorRGBFromHex ("\u0023"+_beafa );};return _fdfa ;};func _cbeb (_bdbe *_eg .CT_TableCellProperties ,_dgaa *_eg .CT_TableStyleCellStyle ,_bgcb ,_dcfd ,_ceee ,_fca bool )*_eg .CT_TableCellProperties {_bbed :=_eg .NewCT_TableCellProperties ();if _bdbe !=nil {*_bbed =*_bdbe ;};if _dgaa ==nil {return _bbed ;};if _afea :=_dgaa .FillRef ;_afea !=nil {_geaf :=_eg .NewCT_SolidColorFillProperties ();_geaf .ScrgbClr =_afea .ScrgbClr ;_geaf .SrgbClr =_afea .SrgbClr ;_geaf .HslClr =_afea .HslClr ;_geaf .SysClr =_afea .SysClr ;_geaf .SchemeClr =_afea .SchemeClr ;_geaf .PrstClr =_afea .PrstClr ;_bbed .SolidFill =_geaf ;};if _bbed .NoFill ==nil &&_bbed .SolidFill ==nil {if _bbcb :=_dgaa .Fill ;_bbcb !=nil {if _bbed .NoFill ==nil {_bbed .NoFill =_bbcb .NoFill ;};if _bbed .SolidFill ==nil {_bbed .SolidFill =_bbcb .SolidFill ;};};};if _aadc :=_dgaa .TcBdr ;_aadc !=nil {if _bbed .LnL ==nil {var _ffba *_eg .CT_ThemeableLineStyle ;if _ceee {_ffba =_aadc .Left ;}else {_ffba =_aadc .InsideV ;};if _ffba !=nil {_bbed .LnL =_ffba .Ln ;};};if _bbed .LnR ==nil {var _eeda *_eg .CT_ThemeableLineStyle ;if _fca {_eeda =_aadc .Right ;}else {_eeda =_aadc .InsideV ;};if _eeda !=nil {_bbed .LnR =_eeda .Ln ;};};if _bbed .LnT ==nil {var _gbba *_eg .CT_ThemeableLineStyle ;if _bgcb {_gbba =_aadc .Top ;}else {_gbba =_aadc .InsideH ;};if _gbba !=nil {_bbed .LnT =_gbba .Ln ;};};if _bbed .LnB ==nil {var _aedf *_eg .CT_ThemeableLineStyle ;if _dcfd {_aedf =_aadc .Bottom ;}else {_aedf =_aadc .InsideH ;};if _aedf !=nil {_bbed .LnB =_aedf .Ln ;};};};return _bbed ;};func (_ffda *textboxContext )alignParagraphsVertically (_bagfd _eg .ST_TextAnchoringType ){if _bagfd ==_eg .ST_TextAnchoringTypeT {return ;};_bbdg :=0.0;for _ ,_bac :=range _ffda ._ageb {_bbdg +=_bac ._ffdf +_bac ._edec +_bac ._cge ;};var _bgag float64 ;switch _bagfd {case _eg .ST_TextAnchoringTypeCtr :_bgag =(_ffda ._cfcd -_bbdg )/2;case _eg .ST_TextAnchoringTypeB :_bgag =_ffda ._cfcd -_bbdg ;};for _ ,_bgee :=range _ffda ._ageb {_bgee ._gagg +=_bgag ;};};func (_bgbd *convertContext )getShapes (_ebaga *_ad .CT_Shape )[]_ae .Drawable {_gfgc :=[]_ae .Drawable {};_eade :=_ebaga .SpPr ;if _eade ==nil {return _gfgc ;};var _egdb bool ;if _cbge :=_ebaga .UseBgFillAttr ;_cbge !=nil {_egdb =*_cbge ;};_dfg ,_cac ,_fff ,_bcgg ,_bef ,_eee ,_cfb :=_bgbd .getShapesFromSpPr (_eade ,_ebaga .Style ,_egdb );_gfgc =append (_gfgc ,_dfg ...);if _gdd :=_ebaga .TxBody ;_gdd !=nil {_dge ,_dfe ,_gcg ,_geg ,_ddg :=_bgbd .getPhData (_ebaga );if _dge !=nil &&!_cfb {_cac ,_fff ,_bcgg ,_bef =_gf .GetDataFromXfrm (_dge );};_bdd ,_gb :=_bgbd .makePdfBlockFromTxBody (_gdd ,_dfe ,_gcg ,_bcgg ,_bef ,_eee ,_geg ,_ddg );if _gb !=nil {_ec .Log .Debug ("\u0043\u0061\u006e\u006e\u006f\u0074\u0020\u006d\u0061\u006b\u0065\u0020\u0050\u0044\u0046\u0020\u0062\u006c\u006f\u0063\u006b\u0020\u0066\u0072o\u006d\u0020\u0074\u0065\u0078t\u0062\u006fx\u003a\u0020\u0025\u0073",_gb );}else if _bdd !=nil {_bdd .SetPos (_cac ,_fff );_gfgc =append (_gfgc ,_bdd );};};return _gfgc ;};func (_cacf *convertContext )makePdfBlockFromTable (_eaed *_eg .Tbl ,_edg float64 )*_ae .Table {_agee :=_eaed .TblGrid ;if _agee ==nil {return nil ;};_edf :=len (_agee .GridCol );if _edf ==0{return nil ;};_febf :=[]float64 {};_ccde :=0.0;for _ ,_ceb :=range _agee .GridCol {_efa :=_be .FromEMU (_gf .FromSTCoordinate (_ceb .WAttr ));_febf =append (_febf ,_efa );_ccde +=_efa ;};_cfa :=[]float64 {};for _cdg :=0;_cdg < _edf ;_cdg ++{_cfa =append (_cfa ,_febf [_cdg ]/_ccde );};_abfa :=_cacf ._gacd .NewTable (_edf );_abfa .SetColumnWidths (_cfa ...);_bff :=_eaed .TblPr ;var _dda *_eg .CT_TableStyle ;if _fcgfa :=_bff .Choice ;_fcgfa !=nil {if _fcgfa .TableStyle !=nil {_dda =_fcgfa .TableStyle ;}else if _fcgfa .TableStyleId !=nil {_dda =_cacf ._eff .GetTableStyleById (*_fcgfa .TableStyleId );};};_faf :=_eg .NewCT_TablePartStyle ();_faf .TcStyle =_eg .NewCT_TableStyleCellStyle ();_faf .TcTxStyle =_eg .NewCT_TableStyleTextStyle ();if _dda !=nil {if _dda .WholeTbl !=nil {*_faf =*_dda .WholeTbl ;};if _dda .TblBg !=nil {if _faf .TcStyle .Fill ==nil {_faf .TcStyle .Fill =_dda .TblBg .Fill ;};};};if _faf .TcStyle .Fill ==nil {_faf .TcStyle .Fill =_eg .NewCT_FillProperties ();_faf .TcStyle .Fill .NoFill =_bff .NoFill ;_faf .TcStyle .Fill .SolidFill =_bff .SolidFill ;};_fdfe :=len (_eaed .Tr );for _ecce ,_fbgf :=range _eaed .Tr {_ccf :=_ecce ==0;_bbe :=_ecce ==_fdfe -1;_cec :=_ecce %2==0;_gbac :=len (_fbgf .Tc );var _gec *_eg .CT_TablePartStyle ;if _ccf {_gec =_dda .FirstRow ;}else if _cec {_gec =_dda .Band2H ;}else {_gec =_dda .Band1H ;};var _efefd float64 ;for _deca ,_afgg :=range _fbgf .Tc {_dagf :=_deca ==0;_efaa :=_deca ==_gbac -1;_gcb :=_deca %2==0;var _gdaa *_eg .CT_TablePartStyle ;if _dagf {_gdaa =_dda .FirstCol ;}else if _gcb {_gdaa =_dda .Band2V ;}else {_gdaa =_dda .Band1V ;};_eadc :=_fggf (_fggf (_gdaa ,_gec ),_faf );_eaeg :=_cacf .addCellToTable (_abfa ,_afgg ,_eadc ,_edg *_cfa [_deca ],_ccf ,_bbe ,_dagf ,_efaa );if _eaeg > _efefd {_efefd =_eaeg ;};};_ecgf :=_be .FromEMU (_gf .FromSTCoordinate (_fbgf .HAttr ));if _ecgf < _efefd {_ecgf =_efefd ;};if _ecgf < _febee (4){_ecgf =_febee (4);};_abfa .SetRowHeight (_abfa .CurRow (),_ecgf );};return _abfa ;};func (_cbfd *convertContext )applyBlipEffectsOnImg (_dabec *_ae .Image ,_cgea ,_dgaec float64 ,_fed []*_eg .CT_BlipChoice )*_ae .Image {if len (_fed )==0{return _dabec ;};_dabec .SetPos (_cgea ,_dgaec );_cdb ,_gafdc :=_cbfd .renderPageWithDrawableToGoImage (_dabec );if _gafdc !=nil {_ec .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0072\u0065\u006e\u0064\u0065\u0072\u0020a\u006e\u0020\u0069\u006d\u0061\u0067e\u0020\u0074\u006f\u0020\u0061\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067e\u003a\u0020\u0025\u0073",_gafdc );return _dabec ;};_adag ,_gafdc :=_cbfd .renderCurrentStateToGoImage ();if _gafdc !=nil {_ec .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0072\u0065n\u0064\u0065\u0072 t\u0068\u0065\u0020\u0063\u0075\u0072r\u0065\u006e\u0074\u0020\u0073\u0074\u0061\u0074\u0065\u0020\u0074\u006f\u0020\u0061\u0020G\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a \u0025\u0073",_gafdc );return _dabec ;};_fdc :=_cdb .Bounds ();_fedd :=_g .NewRGBA (_fdc );_gcaba ,_dcga :=_dabec .Width (),_dabec .Height ();for _ ,_cfdg :=range _fed {for _ ,_bacc :=range _cfdg .AlphaModFix {if _cafdg :=_bacc .AmtAttr ;_cafdg !=nil {if _aggg :=_cafdg .ST_PositivePercentageDecimal ;_aggg !=nil {_deec :=uint8 (255*(*_aggg )/100000);_beca :=_g .NewUniform (_d .Alpha {_deec });_c .Draw (_fedd ,_fdc ,_adag ,_g .Point {0,0},_c .Src );_c .DrawMask (_fedd ,_fdc ,_cdb ,_g .Point {0,0},_beca ,_g .Point {0,0},_c .Over );};};};};_gced :=_g .Rect (int (_cgea ),int (_dgaec ),int (_cgea +_gcaba )+1,int (_dgaec +_dcga )+1);_aega :=_gf .CropImageByRect (_fedd ,_gced );_afaf ,_gafdc :=_cbfd ._gacd .NewImageFromGoImage (_aega );if _gafdc !=nil {_ec .Log .Debug ("\u0045\u0072\u0072\u006f\u0072\u0020\u0061\u006e\u0020\u0069\u006d\u0061\u0067\u0065\u0020t\u006f \u0061\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_gafdc );return _dabec ;};return _afaf ;};func (_efge *convertContext )makePdfImageFromBlipFill (_ffbf *_eg .CT_BlipFillProperties )(*_ae .Image ,[]*_eg .CT_BlipChoice ,error ){if _bcda :=_ffbf .Blip ;_bcda !=nil {if _ggdc :=_bcda .EmbedAttr ;_ggdc !=nil {_gfbf ,_feab :=_efge ._ddcd .GetImageByRelID (*_ggdc );if _feab {_cafd ,_dfegd :=_ea .Open (_gfbf .Path ());if _dfegd !=nil {_ec .Log .Debug ("\u0046\u0069\u006c\u0065 o\u0070\u0065\u006e\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_dfegd );return nil ,nil ,_dfegd ;};defer _cafd .Close ();_bdce ,_ ,_dfegd :=_g .Decode (_cafd );if _dfegd !=nil {_ec .Log .Debug ("\u0044\u0065\u0063\u006fde\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020%\u0073",_dfegd );return nil ,nil ,_dfegd ;};if _ggee :=_ffbf .SrcRect ;_ggee !=nil {_aca :=_bdce .Bounds ().Size ();_cebe :=_aca .X ;_aabe :=_aca .Y ;var _fefe ,_bbbb ,_gccb ,_edfb int ;var _efae bool ;if _efdf :=_ggee .LAttr ;_efdf !=nil {_fefe =int (float64 (_cebe )*_gf .FromSTPercentage (_efdf ));_efae =true ;}else {_fefe =0;};if _bfee :=_ggee .TAttr ;_bfee !=nil {_gccb =int (float64 (_aabe )*_gf .FromSTPercentage (_bfee ));_efae =true ;}else {_gccb =0;};if _gga :=_ggee .RAttr ;_gga !=nil {_bbbb =int (float64 (_cebe )*(1-_gf .FromSTPercentage (_gga )));_efae =true ;}else {_bbbb =_cebe ;};if _ggef :=_ggee .BAttr ;_ggef !=nil {_edfb =int (float64 (_aabe )*(1-_gf .FromSTPercentage (_ggef )));_efae =true ;}else {_edfb =_aabe ;};if _efae {_bdce =_gf .CropImageByRect (_bdce ,_g .Rect (_fefe ,_gccb ,_bbbb +1,_edfb +1));};};_dacg ,_dfegd :=_efge ._gacd .NewImageFromGoImage (_bdce );if _dfegd !=nil {_ec .Log .Debug ("\u0043\u0061\u006e\u006e\u006ft\u0020\u0063\u0072\u0065\u0061\u0074\u0065\u0020\u0050\u0044\u0046\u0020\u0069m\u0061\u0067\u0065\u0020\u0066\u0072\u006f\u006d\u0020\u0047\u006f\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_dfegd );return nil ,nil ,_dfegd ;};return _dacg ,_bcda .Choice ,nil ;};};};return nil ,nil ,nil ;};func (_aec *convertContext )getConnectors (_afc *_ad .CT_Connector )[]_ae .Drawable {_beb ,_ ,_ ,_ ,_ ,_ ,_ :=_aec .getShapesFromSpPr (_afc .SpPr ,_afc .Style ,false );return _beb ;};func _bcb (_aaaa ,_cfdd *_eg .CT_TextListStyle )*_eg .CT_TextListStyle {_acbcb :=_eg .NewCT_TextListStyle ();if _aaaa !=nil {*_acbcb =*_aaaa ;};if _cfdd ==nil {return _acbcb ;};_acbcb .DefPPr =_cbdb (_acbcb .DefPPr ,_cfdd .DefPPr );_acbcb .Lvl1pPr =_cbdb (_acbcb .Lvl1pPr ,_cfdd .Lvl1pPr );_acbcb .Lvl2pPr =_cbdb (_acbcb .Lvl2pPr ,_cfdd .Lvl2pPr );_acbcb .Lvl3pPr =_cbdb (_acbcb .Lvl3pPr ,_cfdd .Lvl3pPr );_acbcb .Lvl4pPr =_cbdb (_acbcb .Lvl4pPr ,_cfdd .Lvl4pPr );_acbcb .Lvl5pPr =_cbdb (_acbcb .Lvl5pPr ,_cfdd .Lvl5pPr );_acbcb .Lvl6pPr =_cbdb (_acbcb .Lvl6pPr ,_cfdd .Lvl6pPr );_acbcb .Lvl7pPr =_cbdb (_acbcb .Lvl7pPr ,_cfdd .Lvl7pPr );_acbcb .Lvl8pPr =_cbdb (_acbcb .Lvl8pPr ,_cfdd .Lvl8pPr );_acbcb .Lvl9pPr =_cbdb (_acbcb .Lvl9pPr ,_cfdd .Lvl9pPr );return _acbcb ;};
// ConvertToPdf converts a presentation to a PDF file. This package is beta, breaking changes can take place.
func ConvertToPdf (pr *_a .Presentation )*_ae .Creator {_af :=pr .X ().SldSz ;_gfg :=_be .FromEMU (int64 (_af .CxAttr ));_efb :=_be .FromEMU (int64 (_af .CyAttr ));_fe :=_ae .PageSize {_gfg ,_efb };_ac :=_ae .New ();_ac .SetPageSize (_fe );var _dcc *_eg .Theme ;if len (pr .Themes ())> 0{_dcc =pr .Themes ()[0];};for _ ,_de :=range pr .Slides (){if _de .X ()==nil {continue ;};_dd :=&convertContext {_gacd :_ac ,_ddcd :&_de ,_efec :_de .GetSlideLayout (),_bffg :pr .SlideMasters ()[0].X (),_eff :pr ,_febe :_dcc ,_ccg :_de .X ().ClrMapOvr ,_febg :_fe [1],_gbag :_fe [0]};_dd ._efec =_de .GetSlideLayout ();_dd .extractDefaultProperties ();_dd .makeSlide ();_dd .drawSlide ();};return _ac ;};func (_gac *convertContext )stretchImage (_aaag *_ae .Image ,_fee *_eg .CT_StretchInfoProperties ,_egdd ,_bce ,_ge ,_dbb float64 )(*_ae .Image ,float64 ,float64 ){_ggdf :=_fee .FillRect ;if _ggdf ==nil {_bdb :=_aaag .Width ()/_aaag .Height ();_ada :=_ge /_dbb ;var _ddcb ,_bcec float64 ;if _bdb > _ada {_bcec =_dbb ;_ddcb =_dbb *_bdb ;}else {_ddcb =_ge ;_bcec =_ge /_bdb ;};_aaag .Scale (_ddcb /_aaag .Width (),_bcec /_aaag .Height ());return _aaag ,_egdd ,_bce ;};var _feg ,_ecg ,_ecb ,_ebg float64 ;if _afaa :=_ggdf .LAttr ;_afaa !=nil {_ecb =_gf .FromSTPercentage (_afaa );};if _abe :=_ggdf .TAttr ;_abe !=nil {_feg =_gf .FromSTPercentage (_abe );};if _bca :=_ggdf .RAttr ;_bca !=nil {_ebg =_gf .FromSTPercentage (_bca );};if _ddeg :=_ggdf .BAttr ;_ddeg !=nil {_ecg =_gf .FromSTPercentage (_ddeg );};_fa :=_ge *(1-_ecb -_ebg );_bcef :=_dbb *(1-_feg -_ecg );_aaag .Scale (_fa /_aaag .Width (),_bcef /_aaag .Height ());return _aaag ,_egdd +_ecb *_ge ,_bce +_feg *_dbb ;};type background struct{_eabg _ae .Color ;_dce float64 ;_cdfd *_eg .CT_BlipFillProperties ;};func (_bgc *convertContext )addCellToTable (_bead *_ae .Table ,_abcbd *_eg .CT_TableCell ,_fegd *_eg .CT_TablePartStyle ,_fecd float64 ,_gbaa ,_beba ,_agf ,_feeb bool )float64 {var _befa *_ae .TableCell ;_egga :=1;if _abcbd .GridSpanAttr !=nil {_egga =int (*_abcbd .GridSpanAttr );};_befa =_bead .MultiColCell (_egga );_dcf :=_abcbd .TcPr ;var _dbc *_eg .CT_TableStyleTextStyle ;if _fegd !=nil {_dcf =_cbeb (_dcf ,_fegd .TcStyle ,_gbaa ,_beba ,_agf ,_feeb );_dbc =_fegd .TcTxStyle ;};_ddgg :=_dca ;_aecf :=_ae .CellVerticalAlignmentMiddle ;if _dcf !=nil {if _afe :=_dcf .LnL ;_afe !=nil {_ded ,_fcde ,_dfbc :=_bgc .getBorderStyle (_afe );_befa .SetBorder (_ae .CellBorderSideLeft ,_ded ,_dfbc );if _fcde !=nil &&*_fcde !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideLeft ,*_fcde );};};if _ffa :=_dcf .LnT ;_ffa !=nil {_dcbb ,_ggbb ,_eddg :=_bgc .getBorderStyle (_ffa );_befa .SetBorder (_ae .CellBorderSideTop ,_dcbb ,_eddg );if _ggbb !=nil &&*_ggbb !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideTop ,*_ggbb );};};if _dagb :=_dcf .LnR ;_dagb !=nil {_cag ,_eccec ,_dccc :=_bgc .getBorderStyle (_dagb );_befa .SetBorder (_ae .CellBorderSideRight ,_cag ,_dccc );if _eccec !=nil &&*_eccec !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideRight ,*_eccec );};};if _bagf :=_dcf .LnB ;_bagf !=nil {_ecf ,_adef ,_affa :=_bgc .getBorderStyle (_bagf );_befa .SetBorder (_ae .CellBorderSideBottom ,_ecf ,_affa );if _adef !=nil &&*_adef !=nil {_befa .SetSideBorderColor (_ae .CellBorderSideBottom ,*_adef );};};if _dadd :=_dcf .MarLAttr ;_dadd !=nil {_ddgg =float64 (_gf .FromSTCoordinate32 (*_dadd ));};switch _dcf .AnchorAttr {case _eg .ST_TextAnchoringTypeT :_aecf =_ae .CellVerticalAlignmentTop ;case _eg .ST_TextAnchoringTypeB :_aecf =_ae .CellVerticalAlignmentBottom ;};if _dcf .NoFill ==nil {if _gag :=_dcf .SolidFill ;_gag !=nil {_dgac ,_ :=_bgc .getColorFromSolidFill (_gag );_befa .SetBackgroundColor (_dgac );};};};_befa .SetVerticalAlignment (_aecf );_befa .SetIndent (_ddgg );var _cddf float64 ;if _gcec :=_abcbd .TxBody ;_gcec !=nil {_cbcg :=_bgc .makePdfDivisionFromTxBody (_gcec ,_fecd ,_cddf ,_dbc );_cddf =_cbcg .Height ();_befa .SetContent (_cbcg );};return _cddf ;};func _ggfe (_adcg *_ad .CT_CommonSlideData ,_bgge _ad .ST_PlaceholderType ,_bceg *uint32 ,_dccb bool )(*_eg .CT_Transform2D ,*_eg .CT_TextBody ,*bool ,*bool ){if _adcg !=nil &&(_bgge !=_ad .ST_PlaceholderTypeUnset ||!_dccb ){if _feeae :=_adcg .SpTree ;_feeae !=nil {for _ ,_dgf :=range _feeae .Choice {if _dgf !=nil {for _ ,_gfag :=range _dgf .Sp {if _gfag !=nil {_faba ,_fbbfc :=_dee (_gfag );if _bgge ==_faba {if (_dccb &&_fbbfc ==nil )||(!_dccb &&_fbbfc !=nil &&*_fbbfc ==*_bceg ){var _gae *_eg .CT_Transform2D ;if _gfag .SpPr !=nil {_gae =_gfag .SpPr .Xfrm ;};_bcbe :=_bgge ==_ad .ST_PlaceholderTypeTitle ||_bgge ==_ad .ST_PlaceholderTypeCtrTitle ;_ced :=!_bcbe &&_bgge !=_ad .ST_PlaceholderTypeUnset ;return _gae ,_gfag .TxBody ,&_bcbe ,&_ced ;};};};};};};};};return nil ,nil ,nil ,nil ;};func _dddb (_dadg *_eg .CT_AdjPoint2D )(float64 ,float64 ){var _aag ,_cbfb float64 ;_fcdd ,_aed :=_dadg .XAttr ,_dadg .YAttr ;if _aabg :=_fcdd .ST_Coordinate ;_aabg !=nil {_aag =_be .FromEMU (_gf .FromSTCoordinate (*_aabg ));};if _cddc :=_aed .ST_Coordinate ;_cddc !=nil {_cbfb =_be .FromEMU (_gf .FromSTCoordinate (*_cddc ));};return _aag ,_cbfb ;};func (_gcf *convertContext )renderPageWithDrawableToGoImage (_fdfad _ae .Drawable )(_g .Image ,error ){_dgc :=_gf .MakeTempCreator (_gcf ._gbag ,_gcf ._febg );_dgc .NewPage ();_dgc .Draw (_fdfad );_dgce ,_cgggf :=_gf .GetPageFromCreator (_dgc );if _cgggf !=nil {return nil ,_cgggf ;};return _cd .NewImageDevice ().Render (_dgce );};func (_bbg *convertContext )getColorFromSolidFill (_acda *_eg .CT_SolidColorFillProperties )(_ae .Color ,float64 ){if _acda ==nil {return nil ,1;};var _abd string ;_fea :=1.0;if _cggg :=_acda .SrgbClr ;_cggg !=nil {_abd =_cggg .ValAttr ;_fea =_gf .GetOpacityFromColorTransform (_cggg .EG_ColorTransform );}else if _agfc :=_acda .SchemeClr ;_agfc !=nil {_abd =_gf .GetColorStringFromDmlColor (_bbg ._ddcd .GetColorBySchemeColor (_agfc .ValAttr ));_abd =_gf .AdjustColor (_abd ,_agfc .EG_ColorTransform );_fea =_gf .GetOpacityFromColorTransform (_agfc .EG_ColorTransform );};if _abd !=""{_bfdf :=_ae .ColorRGBFromHex ("\u0023"+_abd );return _bfdf ,_fea ;};return nil ,1;};func (_egde *convertContext )getBorderStyle (_gadg *_eg .CT_LineProperties )(_ae .CellBorderStyle ,*_ae .Color ,float64 ){if _gadg ==nil ||_gadg .NoFill !=nil {return _ae .CellBorderStyleNone ,nil ,0;};var _bfdg _ae .Color ;if _dcd :=_gadg .SolidFill ;_dcd !=nil {_bfdg ,_ =_egde .getColorFromSolidFill (_dcd );};_bddge :=0.0;if _ecd :=_gadg .WAttr ;_ecd !=nil {_bddge =_be .FromEMU (int64 (*_ecd ));};return _ae .CellBorderStyleSingle ,&_bfdg ,_bddge ;};type paragraph struct{_eea float64 ;_ffdf float64 ;_cge float64 ;_bfea float64 ;_gbfe float64 ;_gdda float64 ;_gagg float64 ;_edec float64 ;_gafd _eg .ST_TextAlignType ;_ccga float64 ;_caec bool ;_egdc []*line ;};type symbolStyle struct{_ageba *string ;_eadg *float64 ;_defc *string ;_bbdab *bool ;_eaede *bool ;_ddcc *bool ;_baf *bool ;_afb *bool ;};var _dca =_febee (1.9);func _bdbc (_ebed string )[]*symbol {_cbgc :=[]*symbol {};for _ ,_cbgef :=range _ebed {_cbgc =append (_cbgc ,&symbol {_cbfe :string (_cbgef )});};return _cbgc ;};
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles.
func RegisterFontsFromDirectory (dirName string )error {return _gf .RegisterFontsFromDirectory (dirName )};func (_ccdf *textboxContext )alignVertically (_dcff _eg .ST_TextAnchoringType ){_ccdf .alignParagraphsVertically (_dcff );_ccdf .alignSymbolsVertically ();};func (_efbe *convertContext )makePdfBlockFromTxBody (_gab *_eg .CT_TextBody ,_ce *_eg .CT_TextBodyProperties ,_gfd *_eg .CT_TextListStyle ,_fgeb ,_feed float64 ,_ffc _ae .Color ,_edd ,_ddgf bool )(*_ae .Block ,error ){var _dfff *_eg .CT_TextParagraphProperties ;if _fcg :=_gab .LstStyle ;_fcg !=nil {var _gce *_eg .CT_TextParagraphProperties ;if _fcg .Lvl1pPr !=nil {_gce =_fcg .Lvl1pPr ;};_dfff =_cbdb (_gce ,_fcg .DefPPr );};var _cgd *_eg .CT_TextParagraphProperties ;if _dfff !=nil {if _edd {_cgd =_efbe ._acf [0];}else if _ddgf {_cgd =_efbe ._bcd [0];}else {_cgd =_efbe ._bdga [0];};if _gfd !=nil {_cgd =_cbdb (_cbdb (_gfd .Lvl1pPr ,_gfd .DefPPr ),_cgd );};_cgd =_cbdb (_dfff ,_cgd );}else {if _edd {_cgd =_efbe ._fdg ;}else if _ddgf {_cgd =_efbe ._deg ;}else {_cgd =_efbe ._aeca ;};};_dcbe ,_ebgd :=_febee (2.5),_febee (2.5);_gea ,_ccd :=_febee (1.3),_febee (1.3);_fab :=true ;_bcc :=_eg .ST_TextAnchoringTypeT ;if _ce !=nil {if _ged :=_ce .AnchorAttr ;_ged !=_eg .ST_TextAnchoringTypeUnset {_bcc =_ged ;};};if _cef :=_gab .BodyPr ;_cef !=nil {if _dece :=_cef .LInsAttr ;_dece !=nil {_dcbe =_be .FromEMU (_gf .FromSTCoordinate32 (*_dece ));};if _ecbb :=_cef .TInsAttr ;_ecbb !=nil {_gea =_be .FromEMU (_gf .FromSTCoordinate32 (*_ecbb ));};if _afab :=_cef .RInsAttr ;_afab !=nil {_ebgd =_be .FromEMU (_gf .FromSTCoordinate32 (*_afab ));};if _dccf :=_cef .BInsAttr ;_dccf !=nil {_ccd =_be .FromEMU (_gf .FromSTCoordinate32 (*_dccf ));};_fab =_cef .WrapAttr !=_eg .ST_TextWrappingTypeNone ;if _dae :=_cef .AnchorAttr ;_dae !=_eg .ST_TextAnchoringTypeUnset {_bcc =_cef .AnchorAttr ;};};_agga :=_gf .MakeTempCreator (_fgeb ,_feed );_agga .SetPageMargins (_dcbe ,_ebgd ,_gea ,_ccd );_gfdg :=&textboxContext {_gdf :_efbe ,_aeeg :_fab ,_eedg :_fgeb -_dcbe -_ebgd ,_cfcd :_feed -_gea -_ccd ,_febfb :_agga ,_ageb :[]*paragraph {}};_aae :=1;for _ ,_beec :=range _gab .P {if _beec !=nil {_caa :=_beec .PPr ;var _gba *prefixData ;if _caa !=nil &&_caa .BuNone ==nil {var _cefc string ;var _fec bool ;if _dfeg :=_caa .BuAutoNum ;_dfeg !=nil {var _dcad string ;if _egf :=_dfeg .StartAtAttr ;_egf !=nil {_aae =int (*_egf );};var _daa string ;switch _dfeg .TypeAttr {case _eg .ST_TextAutonumberSchemeAlphaUcParenBoth ,_eg .ST_TextAutonumberSchemeAlphaUcParenR ,_eg .ST_TextAutonumberSchemeAlphaUcPeriod :_daa =_abce (_aae ,true );case _eg .ST_TextAutonumberSchemeAlphaLcParenBoth ,_eg .ST_TextAutonumberSchemeAlphaLcParenR ,_eg .ST_TextAutonumberSchemeAlphaLcPeriod :_daa =_abce (_aae ,false );case _eg .ST_TextAutonumberSchemeRomanUcParenBoth ,_eg .ST_TextAutonumberSchemeRomanUcParenR ,_eg .ST_TextAutonumberSchemeRomanUcPeriod :_daa =_dcg (_aae ,true );case _eg .ST_TextAutonumberSchemeRomanLcParenBoth ,_eg .ST_TextAutonumberSchemeRomanLcParenR ,_eg .ST_TextAutonumberSchemeRomanLcPeriod :_daa =_dcg (_aae ,false );default:_daa =_b .Itoa (_aae );};switch _dfeg .TypeAttr {case _eg .ST_TextAutonumberSchemeAlphaLcPeriod ,_eg .ST_TextAutonumberSchemeAlphaUcPeriod ,_eg .ST_TextAutonumberSchemeArabicPeriod ,_eg .ST_TextAutonumberSchemeRomanLcPeriod ,_eg .ST_TextAutonumberSchemeRomanUcPeriod ,_eg .ST_TextAutonumberSchemeArabicDbPeriod ,_eg .ST_TextAutonumberSchemeEa1ChsPeriod ,_eg .ST_TextAutonumberSchemeEa1ChtPeriod ,_eg .ST_TextAutonumberSchemeEa1JpnChsDbPeriod ,_eg .ST_TextAutonumberSchemeEa1JpnKorPeriod ,_eg .ST_TextAutonumberSchemeThaiAlphaPeriod ,_eg .ST_TextAutonumberSchemeThaiNumPeriod ,_eg .ST_TextAutonumberSchemeHindiAlphaPeriod ,_eg .ST_TextAutonumberSchemeHindiNumPeriod ,_eg .ST_TextAutonumberSchemeHindiAlpha1Period :_dcad ="\u002e";case _eg .ST_TextAutonumberSchemeAlphaLcParenR ,_eg .ST_TextAutonumberSchemeAlphaUcParenR ,_eg .ST_TextAutonumberSchemeArabicParenR ,_eg .ST_TextAutonumberSchemeRomanLcParenR ,_eg .ST_TextAutonumberSchemeRomanUcParenR ,_eg .ST_TextAutonumberSchemeThaiAlphaParenR ,_eg .ST_TextAutonumberSchemeThaiNumParenR ,_eg .ST_TextAutonumberSchemeHindiNumParenR :_dcad ="\u0029";};_cefc =_daa +_dcad ;_aae ++;}else if _gbc :=_caa .BuChar ;_gbc !=nil {_fdd :=_gbc .CharAttr ;if _eac ,_fged :=_ddacf [_fdd ];_fged {_fdd =string (rune (_eac ));}else {_fdd ="\u2022";};_cefc =_fdd ;_fec =true ;};if _cefc !=""{var _dabd ,_cfcg float64 ;if _caa .MarLAttr !=nil {_dabd =_be .FromEMU (int64 (*_caa .MarLAttr ));};if _caa .IndentAttr !=nil {_cfcg =_be .FromEMU (int64 (*_caa .IndentAttr ));};_gba =&prefixData {_eedb :_cefc ,_gacg :_fec ,_cff :_dabd ,_aeg :_cfcg };};};_caa =_cbdb (_caa ,_cgd );_age :=_fddc (_beec .EndParaRPr ,_caa .DefRPr );_gfdg .newParagraph ();_gfdg .assignPropsToCurrentParagraph (_caa );_gfdg .newLine ();_gfdg .newWord ();for _fcgf ,_bcfb :=range _beec .EG_TextRun {_gfdg .addTextRun (_bcfb ,_age ,_ffc ,_gba );if _fcgf > 0{_gba =nil ;};};_gfdg .addCurrentWordToParagraph ();};_gfdg .addCurrentParagraph ();};_gfdg .alignVertically (_bcc );_gfdg .drawParagraphs ();return _gf .MakeBlockFromCreator (_agga );};func (_ag *convertContext )extractDefaultProperties (){_aad :=_ag ._eff .X ();_gc :=_aad .DefaultTextStyle ;var _bf ,_bb ,_bg ,_bfd ,_bec ,_bc ,_dea ,_df ,_ab ,_aeb *_eg .CT_TextParagraphProperties ;if _gc !=nil {_bf =_gc .DefPPr ;_bb =_cbdb (_gc .Lvl1pPr ,_bf );_bg =_cbdb (_gc .Lvl2pPr ,_bf );_bfd =_cbdb (_gc .Lvl3pPr ,_bf );_bec =_cbdb (_gc .Lvl4pPr ,_bf );_bc =_cbdb (_gc .Lvl5pPr ,_bf );_dea =_cbdb (_gc .Lvl6pPr ,_bf );_df =_cbdb (_gc .Lvl7pPr ,_bf );_ab =_cbdb (_gc .Lvl8pPr ,_bf );_aeb =_cbdb (_gc .Lvl9pPr ,_bf );_ag ._aeca =_bf ;_ag ._fgf =_bf .DefRPr ;};_ag ._bdga =make ([]*_eg .CT_TextParagraphProperties ,9);_ag ._bdga [0]=_bb ;_ag ._bdga [1]=_bg ;_ag ._bdga [2]=_bfd ;_ag ._bdga [3]=_bec ;_ag ._bdga [4]=_bc ;_ag ._bdga [5]=_dea ;_ag ._bdga [6]=_df ;_ag ._bdga [7]=_ab ;_ag ._bdga [8]=_aeb ;_eba :=_ag ._eff .SlideMasters ()[0].X ();_dbac :=_eba .TxStyles ;_bbc :=_dbac .TitleStyle ;_ag ._fdg =_cbdb (_bbc .DefPPr ,_bf );_ag ._eabc =_ag ._fdg .DefRPr ;_ag ._acf =make ([]*_eg .CT_TextParagraphProperties ,9);_ag ._acf [0]=_cbdb (_bbc .Lvl1pPr ,_bb );_ag ._acf [1]=_cbdb (_bbc .Lvl2pPr ,_bg );_ag ._acf [2]=_cbdb (_bbc .Lvl3pPr ,_bfd );_ag ._acf [3]=_cbdb (_bbc .Lvl4pPr ,_bec );_ag ._acf [4]=_cbdb (_bbc .Lvl5pPr ,_bc );_ag ._acf [5]=_cbdb (_bbc .Lvl6pPr ,_dea );_ag ._acf [6]=_cbdb (_bbc .Lvl7pPr ,_df );_ag ._acf [7]=_cbdb (_bbc .Lvl8pPr ,_ab );_ag ._acf [8]=_cbdb (_bbc .Lvl9pPr ,_aeb );_eae :=_dbac .BodyStyle ;_ag ._deg =_cbdb (_eae .DefPPr ,_bf );_ag ._cee =_ag ._deg .DefRPr ;_ag ._bcd =make ([]*_eg .CT_TextParagraphProperties ,9);_ag ._bcd [0]=_cbdb (_eae .Lvl1pPr ,_bb );_ag ._bcd [1]=_cbdb (_eae .Lvl2pPr ,_bg );_ag ._bcd [2]=_cbdb (_eae .Lvl3pPr ,_bfd );_ag ._bcd [3]=_cbdb (_eae .Lvl4pPr ,_bec );_ag ._bcd [4]=_cbdb (_eae .Lvl5pPr ,_bc );_ag ._bcd [5]=_cbdb (_eae .Lvl6pPr ,_dea );_ag ._bcd [6]=_cbdb (_eae .Lvl7pPr ,_df );_ag ._bcd [7]=_cbdb (_eae .Lvl8pPr ,_ab );_ag ._bcd [8]=_cbdb (_eae .Lvl9pPr ,_aeb );};func (_fffe *textboxContext )adjustHeights (_bbef float64 ){if _fffe ._cfbb ._ggde < _bbef {_fffe ._cfg ._edec +=(_bbef -_fffe ._cfbb ._ggde );_fffe ._cfbb ._ggde =_bbef ;};};type prefixData struct{_eedb string ;_gacg bool ;_cff float64 ;_aeg float64 ;};func (_fbe *convertContext )makeStyleFromRPr (_gca *_eg .CT_TextCharacterProperties )(*_ae .TextStyle ,bool ,bool ,bool ){var _gbfa ,_gdga ,_eebc bool ;_gda :=_fbe ._gacd .NewTextStyle ();if _gca !=nil {_fgg :=_gf .FontStyle_Regular ;_fef :=_ddccg (_gca .BAttr );_ggeg :=_ddccg (_gca .IAttr );if _fef &&_ggeg {_fgg =_gf .FontStyle_BoldItalic ;}else if _fef {_fgg =_gf .FontStyle_Bold ;}else if _ggeg {_fgg =_gf .FontStyle_Italic ;};_eebc =_gca .UAttr !=_eg .ST_TextUnderlineTypeUnset &&_gca .UAttr !=_eg .ST_TextUnderlineTypeNone ;_edc :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _fad :=_gca .Latin ;_fad !=nil {_edc =_fad .TypefaceAttr ;}else if _bad :=_gca .Ea ;_bad !=nil {_edc =_bad .TypefaceAttr ;}else if _dfgbf :=_gca .Cs ;_dfgbf !=nil {_edc =_dfgbf .TypefaceAttr ;}else if _gded :=_gca .Sym ;_gded !=nil {_edc =_gded .TypefaceAttr ;};if _cdda ,_ddcbc :=_gf .StdFontsMap [_edc ];_ddcbc {_gda .Font =_gf .AssignStdFontByName (_gda ,_cdda [_fgg ]);}else if _aba :=_gf .GetRegisteredFont (_edc ,_fgg );_aba !=nil {_gda .Font =_aba ;}else {_ec .Log .Debug ("\u0046\u006f\u006e\u0074\u0020\u0025\u0073\u0020\u0077\u0069\u0074h\u0020\u0073\u0074\u0079\u006c\u0065\u0020\u0025s\u0020i\u0073\u0020\u006e\u006f\u0074\u0020\u0066\u006f\u0075\u006e\u0064\u002c\u0020\u0072\u0065\u0073\u0065\u0074 \u0074\u006f\u0020\u0064\u0065\u0066\u0061\u0075\u006c\u0074\u002e",_edc ,_fgg );_gda .Font =_gf .AssignStdFontByName (_gda ,_gf .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_fgg ]);};var _ffcb float64 ;if _bea :=_gca .SzAttr ;_bea !=nil {_ffcb =float64 (*_bea )/100;}else {_ffcb =_gf .DefaultFontSize ;};if _fdb :=_gca .BaselineAttr ;_fdb !=nil {if _dbfb :=_fdb .ST_PercentageDecimal ;_dbfb !=nil {if *_dbfb > 0{_gbfa =true ;}else if *_dbfb < 0{_gdga =true ;};};};if _gbfa ||_gdga {_ffcb *=0.64;};_gda .FontSize =_ffcb ;_ggb :=0.0;if _feb :=_gca .SpcAttr ;_feb !=nil {if _egg :=_feb .ST_TextPointUnqualified ;_egg !=nil {_ggb =float64 (*_egg )/100;};};_gda .CharSpacing =_ggb ;};return &_gda ,_gbfa ,_gdga ,_eebc ;};func (_bgeg *convertContext )drawSlide (){_bgeg ._gacd .NewPage ();for _ ,_ga :=range _bgeg ._ggba {if _ga !=nil {_bgeg ._gacd .MoveTo (0,0);_bgeg ._gacd .Draw (_ga );};};};func (_bbba *convertContext )getInfoFromLn (_cdfg *_eg .CT_LineProperties )(_ae .Color ,float64 ,float64 ){if _cdfg ==nil ||_cdfg .NoFill !=nil {return nil ,0,0;};var _befbd float64 ;_fbbf ,_cbga :=_bbba .getColorFromSolidFill (_cdfg .SolidFill );if _edbg :=_cdfg .WAttr ;_edbg !=nil {_befbd =_be .FromEMU (int64 (*_edbg ));}else {_befbd =1;};return _fbbf ,_befbd ,_cbga ;};func _fddc (_bece ,_acgdb *_eg .CT_TextCharacterProperties )*_eg .CT_TextCharacterProperties {_gcaf :=_eg .NewCT_TextCharacterProperties ();if _bece !=nil {*_gcaf =*_bece ;};if _acgdb ==nil {return _gcaf ;};if _gcaf .KumimojiAttr ==nil {_gcaf .KumimojiAttr =_acgdb .KumimojiAttr ;};if _gcaf .LangAttr ==nil {_gcaf .LangAttr =_acgdb .LangAttr ;};if _gcaf .AltLangAttr ==nil {_gcaf .AltLangAttr =_acgdb .AltLangAttr ;};if _gcaf .SzAttr ==nil {_gcaf .SzAttr =_acgdb .SzAttr ;};if _gcaf .BAttr ==nil {_gcaf .BAttr =_acgdb .BAttr ;};if _gcaf .IAttr ==nil {_gcaf .IAttr =_acgdb .IAttr ;};if _gcaf .UAttr ==_eg .ST_TextUnderlineTypeUnset {_gcaf .UAttr =_acgdb .UAttr ;};if _gcaf .StrikeAttr ==_eg .ST_TextStrikeTypeUnset {_gcaf .StrikeAttr =_acgdb .StrikeAttr ;};if _gcaf .KernAttr ==nil {_gcaf .KernAttr =_acgdb .KernAttr ;};if _gcaf .CapAttr ==_eg .ST_TextCapsTypeUnset {_gcaf .CapAttr =_acgdb .CapAttr ;};if _gcaf .SpcAttr ==nil {_gcaf .SpcAttr =_acgdb .SpcAttr ;};if _gcaf .NormalizeHAttr ==nil {_gcaf .NormalizeHAttr =_acgdb .NormalizeHAttr ;};if _gcaf .BaselineAttr ==nil {_gcaf .BaselineAttr =_acgdb .BaselineAttr ;};if _gcaf .NoProofAttr ==nil {_gcaf .NoProofAttr =_acgdb .NoProofAttr ;};if _gcaf .DirtyAttr ==nil {_gcaf .DirtyAttr =_acgdb .DirtyAttr ;};if _gcaf .ErrAttr ==nil {_gcaf .ErrAttr =_acgdb .ErrAttr ;};if _gcaf .SmtCleanAttr ==nil {_gcaf .SmtCleanAttr =_acgdb .SmtCleanAttr ;};if _gcaf .SmtIdAttr ==nil {_gcaf .SmtIdAttr =_acgdb .SmtIdAttr ;};if _gcaf .BmkAttr ==nil {_gcaf .BmkAttr =_acgdb .BmkAttr ;};if _gcaf .Ln ==nil {_gcaf .Ln =_acgdb .Ln ;};if _gcaf .NoFill ==nil {_gcaf .NoFill =_acgdb .NoFill ;};if _gcaf .SolidFill ==nil {_gcaf .SolidFill =_acgdb .SolidFill ;};if _gcaf .BlipFill ==nil {_gcaf .BlipFill =_acgdb .BlipFill ;};if _gcaf .EffectLst ==nil {_gcaf .EffectLst =_acgdb .EffectLst ;};if _gcaf .EffectDag ==nil {_gcaf .EffectDag =_acgdb .EffectDag ;};if _gcaf .Highlight ==nil {_gcaf .Highlight =_acgdb .Highlight ;};if _gcaf .ULnTx ==nil {_gcaf .ULnTx =_acgdb .ULnTx ;};if _gcaf .ULn ==nil {_gcaf .ULn =_acgdb .ULn ;};if _gcaf .UFillTx ==nil {_gcaf .UFillTx =_acgdb .UFillTx ;};if _gcaf .UFill ==nil {_gcaf .UFill =_acgdb .UFill ;};if _gcaf .Latin ==nil {_gcaf .Latin =_acgdb .Latin ;};if _gcaf .Ea ==nil {_gcaf .Ea =_acgdb .Ea ;};if _gcaf .Cs ==nil {_gcaf .Cs =_acgdb .Cs ;};if _gcaf .Sym ==nil {_gcaf .Sym =_acgdb .Sym ;};if _gcaf .Rtl ==nil {_gcaf .Rtl =_acgdb .Rtl ;};return _gcaf ;};func _cbdb (_ffea ,_bcae *_eg .CT_TextParagraphProperties )*_eg .CT_TextParagraphProperties {_fgc :=_eg .NewCT_TextParagraphProperties ();if _ffea !=nil {*_fgc =*_ffea ;};if _bcae ==nil {return _fgc ;};if _fgc .MarLAttr ==nil {_fgc .MarLAttr =_bcae .MarLAttr ;};if _fgc .MarRAttr ==nil {_fgc .MarRAttr =_bcae .MarRAttr ;};if _fgc .LvlAttr ==nil {_fgc .LvlAttr =_bcae .LvlAttr ;};if _fgc .IndentAttr ==nil {_fgc .IndentAttr =_bcae .IndentAttr ;};if _fgc .AlgnAttr ==_eg .ST_TextAlignTypeUnset {_fgc .AlgnAttr =_bcae .AlgnAttr ;};if _fgc .DefTabSzAttr ==nil {_fgc .DefTabSzAttr =_bcae .DefTabSzAttr ;};if _fgc .RtlAttr ==nil {_fgc .RtlAttr =_bcae .RtlAttr ;};if _fgc .EaLnBrkAttr ==nil {_fgc .EaLnBrkAttr =_bcae .EaLnBrkAttr ;};if _fgc .FontAlgnAttr ==_eg .ST_TextFontAlignTypeUnset {_fgc .FontAlgnAttr =_bcae .FontAlgnAttr ;};if _fgc .LatinLnBrkAttr ==nil {_fgc .LatinLnBrkAttr =_bcae .LatinLnBrkAttr ;};if _fgc .HangingPunctAttr ==nil {_fgc .HangingPunctAttr =_bcae .HangingPunctAttr ;};if _fgc .LnSpc ==nil {_fgc .LnSpc =_bcae .LnSpc ;};if _fgc .SpcBef ==nil {_fgc .SpcBef =_bcae .SpcBef ;};if _fgc .SpcAft ==nil {_fgc .SpcAft =_bcae .SpcAft ;};if _fgc .BuClrTx ==nil {_fgc .BuClrTx =_bcae .BuClrTx ;};if _fgc .BuClr ==nil {_fgc .BuClr =_bcae .BuClr ;};if _fgc .BuSzTx ==nil {_fgc .BuSzTx =_bcae .BuSzTx ;};if _fgc .BuSzPct ==nil {_fgc .BuSzPct =_bcae .BuSzPct ;};if _fgc .BuSzPts ==nil {_fgc .BuSzPts =_bcae .BuSzPts ;};if _fgc .BuFontTx ==nil {_fgc .BuFontTx =_bcae .BuFontTx ;};if _fgc .BuFont ==nil {_fgc .BuFont =_bcae .BuFont ;};if _fgc .BuNone ==nil {_fgc .BuNone =_bcae .BuNone ;};if _fgc .BuAutoNum ==nil {_fgc .BuAutoNum =_bcae .BuAutoNum ;};if _fgc .BuChar ==nil {_fgc .BuChar =_bcae .BuChar ;};if _fgc .BuBlip ==nil {_fgc .BuBlip =_bcae .BuBlip ;};if _fgc .TabLst ==nil {_fgc .TabLst =_bcae .TabLst ;};if _fgc .ExtLst ==nil {_fgc .ExtLst =_bcae .ExtLst ;};_fgc .DefRPr =_fddc (_fgc .DefRPr ,_bcae .DefRPr );return _fgc ;};