2021-11-10 11:45:21 +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 (_fe "bytes";_f "errors";_ad "github.com/unidoc/unioffice/common/logger";_b "github.com/unidoc/unioffice/common/tempstorage";_cef "github.com/unidoc/unioffice/internal/convertutils";_e "github.com/unidoc/unioffice/measurement";_g "github.com/unidoc/unioffice/presentation";_ec "github.com/unidoc/unioffice/schema/soo/dml";_eb "github.com/unidoc/unioffice/schema/soo/dml/chart";_fa "github.com/unidoc/unioffice/schema/soo/pml";_feb "github.com/unidoc/unipdf/v3/contentstream/draw";_gg "github.com/unidoc/unipdf/v3/creator";_ff "github.com/unidoc/unipdf/v3/model";_ge "github.com/unidoc/unipdf/v3/render";_ce "image";_c "image/color";_dd "image/draw";_a "strconv";_da "strings";);func _aafa (_cebf int ,_gbga bool )string {_aab :=_fe .NewBuffer ([]byte {});for _ ,_gbbd :=range _gded {for {if _cebf < _gbbd ._bcg {break ;};_aab .WriteString (_gbbd ._dbfc );_cebf -=_gbbd ._bcg ;};};_dfd :=_aab .String ();if _gbga {_dfd =_da .ToUpper (_dfd );};return _dfd ;};func (_cefee *convertContext )getInfoFromLn (_gdbd *_ec .CT_LineProperties )(_gg .Color ,float64 ,float64 ){if _gdbd ==nil ||_gdbd .NoFill !=nil {return nil ,0,0;};var _ecgfb float64 ;_bgef ,_addd :=_cefee .getColorFromSolidFill (_gdbd .SolidFill );if _ceef :=_gdbd .WAttr ;_ceef !=nil {_ecgfb =_e .FromEMU (int64 (*_ceef ));}else {_ecgfb =1;};return _bgef ,_ecgfb ,_addd ;};func (_bgcf *convertContext )getColorFromMatrixReference (_dcbf *_ec .CT_StyleMatrixReference )_gg .Color {if _dcbf ==nil {return nil ;};var _aga _gg .Color ;var _agdca string ;if _dgdg :=_dcbf .SrgbClr ;_dgdg !=nil {_agdca =_dgdg .ValAttr ;}else if _fgbgc :=_dcbf .SchemeClr ;_fgbgc !=nil {_agdca =_cef .GetColorStringFromDmlColor (_bgcf ._egg .GetColorBySchemeColor (_fgbgc .ValAttr ));_agdca =_cef .AdjustColor (_agdca ,_fgbgc .EG_ColorTransform );};if _agdca !=""{_aga =_gg .ColorRGBFromHex ("\u0023"+_agdca );};return _aga ;};type textboxContext struct{_baf *convertContext ;_abfag float64 ;_caca float64 ;_fcea *_gg .Creator ;_bfaa float64 ;_eag []*paragraph ;_fda *paragraph ;_caf *line ;_fdc *word ;_cceab bool ;};func (_ebef *convertContext )makeStyleFromRPr (_geae *_ec .CT_TextCharacterProperties )(*_gg .TextStyle ,bool ,bool ,bool ){var _bfa ,_ebb ,_adf bool ;_babd :=_ebef ._ddgf .NewTextStyle ();if _geae !=nil {_deaa :=_cef .FontStyle_Regular ;_dfb :=_cbbc (_geae .BAttr );_aag :=_cbbc (_geae .IAttr );if _dfb &&_aag {_deaa =_cef .FontStyle_BoldItalic ;}else if _dfb {_deaa =_cef .FontStyle_Bold ;}else if _aag {_deaa =_cef .FontStyle_Italic ;};_adf =_geae .UAttr !=_ec .ST_TextUnderlineTypeUnset &&_geae .UAttr !=_ec .ST_TextUnderlineTypeNone ;_cceac :="\u0064e\u0066\u0061\u0075\u006c\u0074";if _deb :=_geae .Latin ;_deb !=nil {_cceac =_deb .TypefaceAttr ;}else if _cecc :=_geae .Ea ;_cecc !=nil {_cceac =_cecc .TypefaceAttr ;}else if _eff :=_geae .Cs ;_eff !=nil {_cceac =_eff .TypefaceAttr ;}else if _geeb :=_geae .Sym ;_geeb !=nil {_cceac =_geeb .TypefaceAttr ;};if _gfgb ,_becd :=_cef .StdFontsMap [_cceac ];_becd {_babd .Font =_cef .AssignStdFontByName (_babd ,_gfgb [_deaa ]);}else if _bea :=_cef .GetRegisteredFont (_cceac ,_deaa );_bea !=nil {_babd .Font =_bea ;}else {_ad .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",_cceac ,_deaa );_babd .Font =_cef .AssignStdFontByName (_babd ,_cef .StdFontsMap ["\u0064e\u0066\u0061\u0075\u006c\u0074"][_deaa ]);};var _bbg float64 ;if _cfa :=_geae .SzAttr ;_cfa !=nil {_bbg =float64 (*_cfa )/100;}else {_bbg =_cef .DefaultFontSize ;};if _ddd :=_geae .BaselineAttr ;_ddd !=nil {if _ceg :=_ddd .ST_PercentageDecimal ;_ceg !=nil {if *_ceg > 0{_bfa =true ;}else if *_ceg < 0{_ebb =true ;};};};if _bfa ||_ebb {_bbg *=0.64;};_babd .FontSize =_bbg ;_bag :=0.0;if _ccg :=_geae .SpcAttr ;_ccg !=nil {if _dgc :=_ccg .ST_TextPointUnqualified ;_dgc !=nil {_bag =float64 (*_dgc )/100;};};_babd .CharSpacing =_bag ;};return &_babd ,_bfa ,_ebb ,_adf ;};func (_gcge *textboxContext )alignParagraph (){_eecbe :=_gcge ._fda ;if _eecbe ._ffee ==_ec .ST_TextAlignTypeL {return ;};_eac :=len (_eecbe ._efdf )-1;for _ccba ,_dgea :=range _eecbe ._efdf {_bfdc :=true ;_cag :=len (_dgea ._ebgde );_efbd :=0.0;for _dgge :=len (_dgea ._ebgde )-1;_dgge >=0;_dgge --{_bged :=_dgea ._ebgde [_dgge ];if _bfdc &&_bged ._bdf {_cag =_dgge ;}else {_bfdc =false ;for _ ,_aged :=range _bged ._cbgc {_efbd +=_aged ._ffg ;};};};_dgea ._ebgde =_dgea ._ebgde [:_cag ];_ggcb :=_dgea ._ceb -_dgea ._cfeb -_efbd ;switch _eecbe ._ffee {case _ec .ST_TextAlignTypeR :_dgea .moveRight (_ggcb );case _ec .ST_TextAlignTypeCtr :_dgea .moveRight (_ggcb /2);case _ec .ST_TextAlignTypeJust :if _ccba !=_eac {_gfac :=[]*word {};for _ ,_fge :=range _dgea ._ebgde {if _fge ._bdf {_gfac =append (_gfac ,_fge );};};_gfef :=_ggcb /float64 (len (_gfac ));for _ ,_gcaf :=range _gfac {_gcaf ._acbf +=_gfef ;};var _cgce *word ;for _ ,_ecgf :=range _dgea ._ebgde {if _cgce !=nil {_ecgf ._cece =_cgce ._cece +_cgce ._acbf ;};_cgce =_ecgf ;};};};};};func (_bc *convertContext )makePdfBlockFromChart (_ba *_eb .Chart ,_ae ,_ecc float64 )(*_gg .Block ,error ){_bd :=_ba .CT_RelId .IdAttr ;_ac :=_bc ._gfcc .GetChartSpaceByRelId (_bd );if _ac ==nil {return nil ,_f .New ("\u004e\u006f\u0020\u0063\u0068\u0061\u0072\u0074\u0073\u0070\u0061\u0063\u0065");};var _bdd *_ec .Theme ;_gd :=_bc ._egg .Themes ();if len (_gd )> 0{_bdd =_gd [0];};return _cef .MakeBlockFromChartSpace (_ac ,_ae ,_ecc ,_bdd );};func (_gcfg *textboxContext )addCurrentParagraph (){_gcfg ._bfaa =_gcfg ._fda ._edag +_gcfg ._fda ._cca +_gcfg ._fda ._bgaa +_gcfg ._fda ._cab ;_gcfg ._eag =append (_gcfg ._eag ,_gcfg ._fda );_gcfg .alignParagraph ();};func (_bbeb *convertContext )renderCurrentStateToGoImage ()(_ce .Image ,error ){_gbbc :=_cef .MakeTempCreator (_bbeb ._cdb ,_bbeb ._agcg );_gbbc .NewPage ();for _ ,_afb :=range _bbeb ._gdgcf {if _afb !=nil {_gbbc .MoveTo (0,0);_gbbc .Draw (_afb );};};_edcc ,_ecda :=_cef .GetPageFromCreator (_gbbc );if _ecda !=nil {return nil ,_ecda ;};return _ge .NewImageDevice ().Render (_edcc );};type symbolStyle struct{_baeg *string ;_dce *float64 ;_aedg *string ;_bggd *bool ;_faed *bool ;_gfcd *bool ;_bfd *bool ;_bfgg *bool ;};func (_def *convertContext )tileImage (_ebe *_gg .Image ,_cdg *_ec .CT_TileInfoProperties ,_aeb ,_gef float64 )*_gg .Image {_gba ,_afce :=1.0,1.0;if _acfg :=_cdg .SxAttr ;_acfg !=nil {_gba =_cef .FromSTPercentage (_acfg );};if _cde :=_cdg .SyAttr ;_cde !=nil {_afce =_cef .FromSTPercentage (_cde );};_ccb :=_cef .MakeTempCreator (_aeb ,_gef );_ebe .Scale (_gba ,_afce );_begb ,_abc :=_ebe .Width (),_ebe .Height ();var _bac ,_aebd float64 ;if _gdg :=_cdg .TxAttr ;_gdg !=nil {_bac =_e .FromEMU (_cef .FromSTCoordinate (*_gdg ));};if _aebf :=_cdg .TyAttr ;_aebf !=nil {_aebd =_e .FromEMU (_cef .FromSTCoordinate (*_aebf ));};if _bac > 0{_bac -=_begb ;};if _aebd > 0{_aebd -=_abc ;};_ebea :=_def ._cdb /_begb +1;_fcd :=_def ._agcg /_abc +1;for _bgc :=0.0;_bgc <=_ebea ;_bgc ++{_cfe :=_bgc *_begb ;for _cg :=0.0;_cg <=_fcd ;_cg ++{_edae :=_cg *_abc ;_ebe .SetPos (_cfe +_bac ,_edae +_aebd );_ccb .Draw (_ebe );};};_ag ,_egf :=_cef .GetPageFromCreator (_ccb );if _egf !=nil {_ad .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",_egf );return nil ;};_ffa ,_egf :=_ge .NewImageDevice ().Render (_ag );if _egf !=nil {_ad .Log .Debug ("\u0043\u0061\u006eno\u0074\u0020\u0072\u0065\u006e\u0064\u0065\u0072\u0020\u0069\u006d\u0061\u0067\u0065\u003a\u0020\u0025\u0073",_egf );return nil ;};_ggd ,_egf :=_def ._ddgf .NewImageFromGoImage (_ffa );if _egf !=nil {_ad .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",_egf );return nil ;};return _ggd ;};func (_abcc *convertContext )getShapes (_eee *_fa .CT_Shape )[]_gg .Drawable {_cfgc :=[]_gg .Drawable {};_bdbg :=_eee .SpPr ;if _bdbg ==nil {return _cfgc ;};var _aea bool ;if _gfe :=_eee .UseBgFillAttr ;_gfe !=nil {_aea =*_gfe ;};_gdb ,_gfc ,_eec ,_fcag ,_fbb ,_fba ,_fegb :=_abcc .getShapesFromSpPr (_bdbg ,_eee .Style ,_aea );_cfgc =append (_cfgc ,_gdb ...);if _fbg :=_eee .TxBody ;_fbg !=nil {_dcc ,_aca ,_dea ,_dcbc ,_gfd :=_abcc .getPhData (_eee );if _dcc !=nil &&!_fegb {_gfc ,_eec ,_fcag ,_fbb =_cef .GetDataFromXfrm (_dcc );};_ea ,_fgf :=_abcc .makePdfBlockFromTxBody (_fbg ,_aca ,_dea ,_fcag ,_fbb ,_fba ,_dcbc ,_gfd );if _fgf !=nil {_ad .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",_fgf );}else if _ea !=nil {_ea .SetPos (_gfc ,_eec );_cfgc =append (_cfgc ,_ea );};};return _cfgc ;};func (_dcec *convertContext )getShapeFromBlipFill (_dfa *_ec .CT_BlipFillProperties ,_feag ,_dda ,_edcg ,_bfef float64 )_gg .Drawable {_gbedc ,_fcbga ,_ebbf :=_dcec .makePdfImageFromBlipFill (_dfa );if _ebbf !=nil {_ad .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",_ebbf );return nil ;};if _gbedc ==nil {return nil ;};if _caaf :=_dfa .Tile ;_caaf !=nil {_gbedc =_dcec .tileImage (_gbedc ,_dfa .Tile ,_edcg ,_bfef );};if _abffa :=_dfa .Stretch ;_abffa !=nil {_gbedc ,_feag ,_dda =_dcec .stretchImage (_gbedc ,_dfa .Stretch ,_feag ,_dda ,_edcg ,_bfef );};if len (_fcbga )==0{_gbedc .SetPos (_feag ,_dda );return _gbedc ;};_gbedc =_dcec .applyBlipEffectsOnImg (_gbedc ,_feag ,_dda ,_fcbga );_gbedc .SetPos (_feag ,_dda );return _gbedc ;};func (_ccac *textboxContext )newParagraph (){_bdga :=&paragraph {};_bdga ._edag =_ccac ._bfaa ;_ccac ._fda =_bdga ;};type convertContext struct{_ddgf *_gg .Creator ;_ggfd *_cef .Rectangle ;_egg *_g .Presentation ;_gfcc *_g .Slide ;_bbaa *_fa .SldMaster ;_dbf *_fa .SldLayout ;_agcg float64 ;_cdb float64 ;_gdgcf []_gg .Drawable ;_egea *background ;_abac *_ec .CT_TextParagraphProperties ;_dgg *_ec .CT_TextCharacterProperties ;_ebec *_ec .CT_TextParagraphProperties ;_faf *_ec .CT_TextCharacterProperties ;_ebd *_ec .CT_TextParagraphProperties ;_deg *_ec .CT_TextCharacterProperties ;_bgcb []*_ec .CT_TextParagraphProperties ;_fbae []*_ec .CT_TextParagraphProperties ;_dge []*_ec .CT_TextParagraphProperties ;_agbd *_ec .Theme ;_gbfg *_ec .CT_ColorMappingOverride ;};
// RegisterFont makes a PdfFont accessible for using in converting to PDF.
func RegisterFont (name string ,style FontStyle ,font *_ff .PdfFont ){_cef .RegisterFont (name ,style ,font );};func (_af *convertContext )extractDefaultProperties (){_bcf :=_af ._egg .X ();_fac :=_bcf .DefaultTextStyle ;var _afg ,_faa ,_edb ,_baa ,_afe ,_gde ,_ddc ,_ee ,_eg ,_ega *_ec .CT_TextParagraphProperties ;if _fac !=nil {_afg =_fac .DefPPr ;_faa =_adfb (_fac .Lvl1pPr ,_afg );_edb =_adfb (_fac .Lvl2pPr ,_afg );_baa =_adfb (_fac .Lvl3pPr ,_afg );_afe =_adfb (_fac .Lvl4pPr ,_afg );_gde =_adfb (_fac .Lvl5pPr ,_afg );_ddc =_adfb (_fac .Lvl6pPr ,_afg );_ee =_adfb (_fac .Lvl7pPr ,_afg );_eg =_adfb (_fac .Lvl8pPr ,_afg );_ega =_adfb (_fac .Lvl9pPr ,_afg );_af ._abac =_afg ;_af ._dgg =_afg .DefRPr ;};_af ._bgcb =make ([]*_ec .CT_TextParagraphProperties ,9);_af ._bgcb [0]=_faa ;_af ._bgcb [1]=_edb ;_af ._bgcb [2]=_baa ;_af ._bgcb [3]=_afe ;_af ._bgcb [4]=_gde ;_af ._bgcb [5]=_ddc ;_af ._bgcb [6]=_ee ;_af ._bgcb [7]=_eg ;_af ._bgcb [8]=_ega ;_fga :=_af ._egg .SlideMasters ()[0].X ();_afc :=_fga .TxStyles ;_ffd :=_afc .TitleStyle ;_af ._ebec =_adfb (_ffd .DefPPr ,_afg );_af ._faf =_af ._ebec .DefRPr ;_af ._fbae =make ([]*_ec .CT_TextParagraphProperties ,9);_af ._fbae [0]=_adfb (_ffd .Lvl1pPr ,_faa );_af ._fbae [1]=_adfb (_ffd .Lvl2pPr ,_edb );_af ._fbae [2]=_adfb (_ffd .Lvl3pPr ,_baa );_af ._fbae [3]=_adfb (_ffd .Lvl4pPr ,_afe );_af ._fbae [4]=_adfb (_ffd .Lvl5pPr ,_gde );_af ._fbae [5]=_adfb (_ffd .Lvl6pPr ,_ddc );_af ._fbae [6]=_adfb (_ffd .Lvl7pPr ,_ee );_af ._fbae [7]=_adfb (_ffd .Lvl8pPr ,_eg );_af ._fbae [8]=_adfb (_ffd .Lvl9pPr ,_ega );_ddb :=_afc .BodyStyle ;_af ._ebd =_adfb (_ddb .DefPPr ,_afg );_af ._deg =_af ._ebd .DefRPr ;_af ._dge =make ([]*_ec .CT_TextParagraphProperties ,9);_af ._dge [0]=_adfb (_ddb .Lvl1pPr ,_faa );_af ._dge [1]=_adfb (_ddb .Lvl2pPr ,_edb );_af ._dge [2]=_adfb (_ddb .Lvl3pPr ,_baa );_af ._dge [3]=_adfb (_ddb .Lvl4pPr ,_afe );_af ._dge [4]=_adfb (_ddb .Lvl5pPr ,_gde );_af ._dge [5]=_adfb (_ddb .Lvl6pPr ,_ddc );_af ._dge [6]=_adfb (_ddb .Lvl7pPr ,_ee );_af ._dge [7]=_adfb (_ddb .Lvl8pPr ,_eg );_af ._dge [8]=_adfb (_ddb .Lvl9pPr ,_ega );};func _gaga (_debe ,_dgbf *_ec .CT_TextBody )(*_ec .CT_TextBodyProperties ,*_ec .CT_TextListStyle ){if _debe ==nil &&_dgbf ==nil {return nil ,nil ;};if _debe ==nil {return _dgbf .BodyPr ,_dgbf .LstStyle ;};if _dgbf ==nil {return _debe .BodyPr ,_debe .LstStyle ;};_cfed ,_dbfg :=_debe .BodyPr ,_debe .LstStyle ;_gbcc ,_bbfe :=_dgbf .BodyPr ,_dgbf .LstStyle ;_degf :=_agg (_cfed ,_gbcc );_efcf :=_gbbe (_dbfg ,_bbfe );return _degf ,_efcf ;};type line struct{_ccgb float64 ;_cfeb float64 ;_ceb float64 ;_baca float64 ;_age float64 ;_ebgde []*word ;};func _bfce (_face ,_eege *_ec .CT_TableStyleCellStyle )*_ec .CT_TableStyleCellStyle {_bdbf :=_ec .NewCT_TableStyleCellStyle ();if _face !=nil {*_bdbf =*_face ;};if _eege ==nil {return _bdbf ;};if _bdbf .TcBdr ==nil {_bdbf .TcBdr =_eege .TcBdr ;};if _bdbf .Fill ==nil {_bdbf .Fill =_eege .Fill ;};if _bdbf .FillRef ==nil {_bdbf .FillRef =_eege .FillRef ;};return _bdbf ;};func _eaec (_babdc *_ec .CT_AdjPoint2D )(float64 ,float64 ){var _dbfb ,_bcca float64 ;_fcdc ,_eece :=_babdc .XAttr ,_babdc .YAttr ;if _eafg :=_fcdc .ST_Coordinate ;_eafg !=nil {_dbfb =_e .FromEMU (_cef .FromSTCoordinate (*_eafg ));};if _fbge :=_eece .ST_Coordinate ;_fbge !=nil {_bcca =_e .FromEMU (_cef .FromSTCoordinate (*_fbge ));};return _dbfb ,_bcca ;};func (_fgc *textboxContext )addPrefix (_fadf *prefixData ,_bfab *_gg .TextStyle ){_efg :=_bbd (_fadf ._gda );_bdfg :=*_bfab ;if _fadf ._gacg {_bdfg .Font =_cef .AssignStdFontByName (_bdfg ,"\u0053\u0079\u006d\u0062\u006f\u006c");};for _ ,_ggfa :=range _efg {_ggfa ._ddff =&_bdfg ;_fgc .addTextSymbol (_ggfa );};_ddcc :=-(_fadf ._dcfe +_fgc ._fdc ._acbf );if _ddcc < 0{_ddcc =0;};_gfge :=&symbol {_cdf :"\u0020",_ffg :_ddcc };_fgc .addTextSymbol (_gfge );_fgc ._fdc ._cece +=(_fadf ._dcfe +_fadf ._bbeg );};var _daf =_dcca (1.9);func (_fgfg *convertContext )addCellToTable (_cge *_gg .Table ,_bffa *_ec .CT_TableCell ,_bgd *_ec .CT_TablePartStyle ,_ddf float64 ,_feec ,_bddd ,_dff ,_ddef bool )float64 {var _abda *_gg .TableCell ;_dcf :=1;if _bffa .GridSpanAttr !=nil {_dcf =int (*_bffa .GridSpanAttr );};_abda =_cge .MultiColCell (_dcf );_ege :=_bffa .TcPr ;var _cbd *_ec .CT_TableStyleTextStyle ;if _bgd !=nil {_ege =_ece (_ege ,_bgd .TcStyle ,_feec ,_bddd ,_dff ,_ddef );_cbd =_bgd .TcTxStyle ;};_edca :=_daf ;_aff :=_gg .CellVerticalAlignmentMiddle ;if _ege !=nil {if _fgg :=_ege .LnL ;_fgg !=nil {_gad ,_afag ,_ada :=_fgfg .getBorderStyle (_fgg );_abda .SetBorder (_gg .CellBorderSideLeft ,_gad ,_ada );if _afag !=nil &&*_afag !=nil {_abda .SetSideBorderColor (_gg .CellBorderSideLeft ,*_afag );};};if _fdb :=_ege .LnT ;_fdb !=nil {_gcb ,_gfdg ,_eab :=_fgfg .getBorderStyle (_fdb );_abda .SetBorder (_gg .CellBorderSideTop ,_gcb ,_eab );if _gfdg !=nil &&*_gfdg !=nil {_abda .SetSideBorderColor (_gg .CellBorderSideTop ,*_gfdg );};};if _facd :=_ege .LnR ;_facd !=nil {_ecg ,_agc ,_cdd :=_fgfg .getBorderStyle (_facd );_abda .SetBorder (_gg .CellBorderSideRight ,_ecg ,_cdd );if _agc !=nil &&*_agc !=nil {_abda .SetSideBorderColor (_gg .CellBorderSideRight ,*_agc );};};if _dee :=_ege .LnB ;_dee !=nil {_aefb ,_geag ,_gdeb :=_fgfg .getBorderStyle (_dee );_abda .SetBorder (_gg .CellBorderSideBottom ,_aefb ,_gdeb );if _geag !=nil &&*_geag !=nil {_abda .SetSideBorderColor (_gg .CellBorderSideBottom ,*_geag );};};if _ffe :=_ege .MarLAttr ;_ffe !=nil {_edca =float64 (_cef .FromSTCoordinate32 (*_ffe ));};switch _ege .AnchorAttr {case _ec .ST_TextAnchoringTypeT :_aff =_gg .CellVerticalAlignmentTop ;case _ec .ST_TextAnchoringTypeB :_aff =_gg .CellVerticalAlignmentBottom ;};if _ege .NoFill ==nil {if _acca :=_ege .SolidFill ;_acca !=nil {_ggg ,_ :=_fgfg .getColorFromSolidFill (_acca );_abda .SetBackgroundColor (_ggg );};};};_abda .SetVerticalAlignment (_aff );_abda .SetIndent (_edca );var _dead float64 ;if _bbad :=_bffa .TxBody ;_bbad !=nil {_cadc :=_fgfg .makePdfDivisionFromTxBody (_bbad ,_ddf ,_dead ,_cbd );_dead =_cadc .Height ();_abda .SetContent (_cadc );};return _dead ;};func _ggecf (_edd ,_faecc *_ec .CT_TablePartStyle )*_ec .CT_TablePartStyle {_ffc :=_ec .NewCT_TablePartStyle ();if _edd !=nil {*_ffc =*_edd ;};if _faecc ==nil {return _ffc ;};if _ffc .TcTxStyle ==nil {_ffc .TcTxStyle =_faecc .TcTxStyle ;}else {_ffc .TcTxStyle =_ffga (_ffc .TcTxStyle ,_faecc .TcTxStyle );};if _ffc .TcStyle ==nil {_ffc .TcStyle =_faecc .TcStyle ;}else {_ffc .TcStyle =_bfce (_ffc .TcStyle ,_faecc .TcStyle );};return _ffc ;};func (_gfeb *textboxContext )addCurrentWordToParagraph (){if _gfeb ._cceab &&_gfeb ._caf ._baca +_gfeb ._fdc ._acbf > _gfeb ._caf ._ceb {_gfeb .newLine ();};if !_gfeb ._fdc ._bdf ||len (_gfeb ._caf ._ebgde )> 0{_gfeb ._fdc ._cece =_gfeb ._caf ._baca ;_gfeb ._caf ._ebgde =append (_gfeb ._caf ._ebgde ,_gfeb ._fdc );_gfeb ._caf ._baca +=_gfeb ._fdc ._acbf ;for _ ,_fffc :=range _gfeb ._fdc ._cbgc {_gfeb .adjustHeights (_fffc ._bdbaf );};};};func _ggdc (_eacg *_fa .CT_CommonSlideData ,_faeb _fa .ST_PlaceholderType ,_ddgb *uint32 ,_ebbcg bool )(*_ec .CT_Transform2D ,*_ec .CT_TextBody ,*bool ,*bool ){if _eacg !=nil &&(_faeb !=_fa .ST_PlaceholderTypeUnset ||!_ebbcg ){if _cfff :=_eacg .SpTree ;_cfff !=nil {for _ ,_acd :=range _cfff .Choice {if _acd !=nil {for _ ,_bdda :=range _acd .Sp {if _bdda !=nil {_cbfd ,_cgb :=_ffdc (_bdda );if _faeb ==_cbfd {if (_ebbcg &&_cgb ==nil )||(!_ebbcg &&_cgb !=nil &&*_cgb ==*_ddgb ){var _bfff *_ec .CT_Transform2D ;if _bdda .SpPr !=nil {_bfff =_bdda .SpPr .Xfrm ;};_gcab :=_faeb ==_fa .ST_PlaceholderTypeTitle ||_faeb ==_fa .ST_PlaceholderTypeCtrTitle ;_bafg :=!_gcab &&_faeb !=_fa .ST_PlaceholderTypeUnset ;return _bfff ,_bdda .TxBody ,&_gcab ,&_bafg ;};};};};};};};};return nil ,nil ,nil ,nil ;};func _cbbc (_gaed *bool )bool {return _gaed !=nil &&*_gaed };func _ffga (_febee ,_dbd *_ec .CT_TableStyleTextStyle )*_ec .CT_TableStyleTextStyle {_cbcd :=_ec .NewCT_TableStyleTextStyle ();if _febee !=nil {*_cbcd =*_febee ;};if _dbd ==nil {return _cbcd ;};if _cbcd .BAttr ==_ec .ST_OnOffStyleTypeUnset {_cbcd .BAttr =_dbd .BAttr ;};if _cbcd .IAttr ==_ec .ST_OnOffStyleTypeUnset {_cbcd .IAttr =_dbd .IAttr ;};if _cbcd .Font ==nil {_cbcd .Font =_dbd .Font ;};if _cbcd .FontRef ==nil {_cbcd .FontRef =_dbd .FontRef ;};if _cbcd .ScrgbClr ==nil {_cbcd .ScrgbClr =_dbd .ScrgbClr ;};if _cbcd .SrgbClr ==nil {_cbcd .SrgbClr =_dbd .SrgbClr ;};if _cbcd .HslClr ==nil {_cbcd .HslClr =_dbd .HslClr ;};if _cbcd .SysClr ==nil {_cbcd .SysClr =_dbd .SysClr ;};if _cbcd .SchemeClr ==nil {_cbcd .SchemeClr =_dbd .SchemeClr ;};if _cbcd .PrstClr ==nil {_cbcd .PrstClr =_dbd .PrstClr ;};return _cbcd ;};func (_cefb *textboxContext )assignPropsToCurrentParagraph (_aad *_ec .CT_TextParagraphProperties ){_gbd :=12.4;if _aad ==nil {_cefb ._fda ._cbdd =_gbd ;return ;};if _eggd :=_aad .DefRPr ;_eggd !=nil {_aafd :=_eggd .SzAttr ;if _aafd !=nil {_dcd :=float64 (*_aafd )/1200;if _gbd <=_dcd {_gbd =_dcd ;};};};if _agdc :=_aad .MarLAttr ;_agdc !=nil {_cefb ._fda ._egaf =_e .FromEMU (int64 (*_agdc ));};_cefb ._fda ._edea =_cefb ._abfag ;if _bdef :=_aad .MarRAttr ;_bdef !=nil {_cefb ._fda ._edea -=_e .FromEMU (int64 (*_bdef ));};if _fecd :=_aad .IndentAttr ;_fecd !=nil {_cefb ._fda ._ecbb =_e .FromEMU (int64 (*_fecd ));};if _gdcb :=_aad .LatinLnBrkAttr ;_gdcb !=nil {_cefb ._fda ._afgc =*_gdcb ;};if _fecg :=_aad .LnSpc ;_fecg !=nil {if _gacf :=_fecg .SpcPct ;_gacf !=nil {if _gcgc :=_gacf .ValAttr .ST_TextSpacingPercent ;_gcgc !=nil {_gbd =float64 (*_gcgc )/5000;};};};var _ecd float64 ;if _dag :=_aad .SpcBef ;_dag !=nil {if _bgeb :=_dag .SpcPts ;_bgeb !=nil {_ecd =float64 (_bgeb .ValAttr )/100;};};_dbce :=_cefb ._eag ;if len (_dbce )> 0{_ecd -=_dbce [len (_dbce )-1]._cab ;if _ecd < 0{_ecd =0;};};_cefb ._fda ._cca =_ecd ;if _dgbb :=_aad .SpcAft ;_dgbb !=nil {if _ddda :=_dgbb .SpcPts ;_ddda !=nil {_cefb ._fda ._cab =float64 (_ddda .ValAttr )/100;};};_cefb ._fda ._cbdd =_gbd ;_cefb ._fda ._ffee =_aad .AlgnAttr ;};func (_eebg *textboxContext )alignVertically (_fgdf _ec .ST_TextAnchoringType ){_eebg .alignParagraphsVertically (_fgdf );_eebg .alignSymbolsVertically ();};func (_dfe *textboxContext )addTextSymbol (_fgfe *symbol ){_aega :=_gg .New ();_agce :=_aega .NewStyledParagraph ();_agce .SetMargins (0,0,0,0);_bcea :=_agce .Append (_fgfe ._cdf );_cdec :=0.0;if _fgfe ._ddff !=nil {_bcea .Style =*_fgfe ._ddff ;if _fgfe ._ddff .CharSpacing !=0{_cdec =_fgfe ._ddff .CharSpacing ;};};_fgfe ._bge =_agce .Height ();_fgfe ._bdbaf =_agce .Height ()*1.2;if _fgfe ._bdbaf < _dfe ._fda ._cbdd {_fgfe ._bdbaf =_dfe ._fda ._cbdd ;};if _fgfe ._ffg ==0{_fgfe ._ffg =_agce .Width ()+_cdec ;};if len (_dfe ._fdc ._cbgc )> 0{_bbbb :=_dfe ._fdc ._cbgc [len (_dfe ._fdc ._cbgc )-1]._cdf ;if _dfe ._fda ._afgc ||_cef .IsNoSpaceLanguage (_bbbb )||(_bbbb =="\u0020")!=(_fgfe ._cdf =="\u0020"){_dfe .addCurrentWordToParagraph ();_dfe .newWord ();};};_dfe ._fdc ._cbgc =append (_dfe ._fdc ._cbgc ,_fgfe );_fgfe ._gca =_dfe ._fdc ._acbf ;_dfe ._fdc ._acbf +=_fgfe ._ffg ;if _fgfe ._cdf !="\u0020"{_dfe ._fdc ._bdf =false ;};};func (_dcee *textboxContext )adjustHeights (_abdd float64 ){if _dcee ._caf ._age < _abdd {_dcee ._fda ._bgaa +=(_abdd -_dcee ._caf ._age );_dcee ._caf ._age =_abdd ;};};func (_fcec *convertContext )getConnectors (_ceed *_fa .CT_Connector )[]_gg .Drawable {_ebg ,_ ,_ ,_ ,_ ,_ ,_ :=_fcec .getShapesFromSpPr (_ceed .SpPr ,_ceed .Style ,false );return _ebg ;};type word struct{_cbgc []*symbol ;_cece float64 ;_acbf float64 ;_bdf bool ;};var _fbee =map[string ]int32 {"\u0076":9830,"\u00d8":8594,"\u00fc":8730};func (_ebbc *convertContext )makePdfBlockFromTable (_gcf *_ec .Tbl ,_bdec float64 )*_gg .Table {_acc :=_gcf .TblGrid ;if _acc ==nil {return nil ;};_gbfc :=len (_acc .GridCol );if _gbfc ==0{return nil ;};_bfc :=[]float64 {};_dgd :=0.0;for _ ,_eeg :=range _acc .GridCol {_abfc :=_e .FromEMU (_cef .FromSTCoordinate (_eeg .WAttr ));_bfc =append (_bfc ,_abfc );_dgd +=_abfc ;};_edc :=[]float64 {};for _gcfa :=0;_gcfa < _gbfc ;_gcfa ++{_edc =append (_edc ,_bfc [_gcfa ]/_dgd );};_adcd :=_ebbc ._ddgf .NewTable (_gbfc );_adcd .SetColumnWidths (_edc ...);_agf :=_gcf .TblPr ;var _cfaf *_ec .CT_TableStyle ;if _gfed :=_agf .Choice ;_gfed !=nil {if _gfed .TableStyle !=nil {_cfaf =_gfed .TableStyle ;}else if _gfed .TableStyleId !=nil {_cfaf =_ebbc ._egg .GetTableStyleById (*_gfed .TableStyleId );};};_aed :=_ec .NewCT_TablePartStyle ();_aed .TcStyle =_ec .NewCT_TableStyleCellStyle ();_aed .TcTxStyle =_ec .NewCT_TableStyleTextStyle ();if _cfaf !=nil {if _cfaf .WholeTbl !=nil {*_aed =*_cfaf .WholeTbl ;};if _cfaf .TblBg !=nil {if _aed .TcStyle .Fill ==nil {_aed .TcStyle .Fill =_cfaf .TblBg .Fill ;};};};if _aed .TcStyle .Fill ==nil {_aed .TcStyle .Fill =_ec .NewCT_FillProperties ();_aed .TcStyle .Fill .NoFill =_agf .NoFill ;_aed .TcStyle .Fill .SolidFill =_agf .SolidFill ;};_ddcg :=len (_gcf .Tr );for _aceg ,_ebcd :=range _gcf .Tr {_efe :=_aceg ==0;_bgbf :=_aceg ==_ddcg -1;_dbe :=_aceg %2==0;_bagc :=len (_ebcd .Tc );var _gefe *_ec .CT_TablePartStyle ;if _efe {_gefe =_cfaf .FirstRow ;}else if _dbe {_gefe =_cfaf .Band2H ;}else {_gefe =_cfaf .Band1H ;};var _ebf float64 ;for _dac ,_bbe :=range _ebcd .Tc {_cbb :=_dac ==0;_gcd :=_dac ==_bagc -1;_faec :=_dac %2==0;var _ecb *_ec .CT_TablePartStyle ;if _cbb {_ecb =_cfaf .FirstCol ;}else if _faec {_ecb =_cfaf .Band2V ;}else {_ecb =_cfaf .Band1V ;};_fdd :=_ggecf (_ggecf (_ecb ,_gefe ),_aed );_bcc :=_ebbc .addCellToTable (_adcd ,_bbe ,_fdd ,_bdec *_edc [_dac ],_efe ,_bgbf ,_cbb ,_gcd );if _bcc > _ebf {_ebf =_bcc ;};};_faef :=_e .FromEMU (_cef .FromSTCoordinate (_ebcd .HAttr ));if _faef < _ebf {_faef =_ebf ;};if _faef < _dcca (4){_faef =_dcca (4);};_adcd .SetRowHeight (_adcd .CurRow (),_faef );};return _adcd ;};func _adfb (_adgc ,_fcae *_ec .CT_TextParagraphProperties )*_ec .CT_TextParagraphProperties {_ecbc :=_ec .NewCT_TextParagraphProperties ();if _adgc !=nil {*_ecbc =*_adgc ;};if _fcae ==nil {return _ecbc ;};if _ecbc .MarLAttr ==nil {_ecbc .MarLAttr =_fcae .MarLAttr ;};if _ecbc .MarRAttr ==nil {_ecbc .MarRAttr =_fcae .MarRAttr ;};if _ecbc .LvlAttr ==nil {_ecbc .LvlAttr =_fcae .LvlAttr ;};if _ecbc .IndentAttr ==nil {_ecbc .IndentAttr =_fcae .IndentAttr ;};if _ecbc .AlgnAttr ==_ec .ST_TextAlignTypeUnset {_ecbc .AlgnAttr =_fcae .AlgnAttr ;};if _ecbc .DefTabSzAttr ==nil {_ecbc .DefTabSzAttr =_fcae .DefTabSzAttr ;};if _ecbc .RtlAttr ==nil {_ecbc .RtlAttr =_fcae .RtlAttr ;};if _ecbc .EaLnBrkAttr ==nil {_ecbc .EaLnBrkAttr =_fcae .EaLnBrkAttr ;};if _ecbc .FontAlgnAttr ==_ec .ST_TextFontAlignTypeUnset {_ecbc .FontAlgnAttr =_fcae .FontAlgnAttr ;};if _ecbc .LatinLnBrkAttr ==nil {_ecbc .LatinLnBrkAttr =_fcae .LatinLnBrkAttr ;};if _ecbc .HangingPunctAttr ==nil {_ecbc .HangingPunctAttr =_fcae .HangingPunctAttr ;};if _ecbc .LnSpc ==nil {_ecbc .LnSpc =_fcae .LnSpc ;};if _ecbc .SpcBef ==nil {_ecbc .SpcBef =_fcae .SpcBef ;};if _ecbc .SpcAft ==nil {_ecbc .SpcAft =_fcae .SpcAft ;};if _ecbc .BuClrTx ==nil {_ecbc .BuClrTx =_fcae .BuClrTx ;};if _ecbc .BuClr ==nil {_ecbc .BuClr =_fcae .BuClr ;};if _ecbc .BuSzTx ==nil {_ecbc .BuSzTx =_fcae .BuSzTx ;};if _ecbc .BuSzPct ==nil {_ecbc .BuSzPct =_fcae .BuSzPct ;};if _ecbc .BuSzPts ==nil {_ecbc .BuSzPts =_fcae .BuSzPts ;};if _ecbc .BuFontTx ==nil {_ecbc .BuFontTx =_fcae .BuFontTx ;};if _ecbc .BuFont ==nil {_ecbc .BuFont =_fcae .BuFont ;};if _ecbc .BuNone ==nil {_ecbc .BuNone =_fcae .BuNone ;};if _ecbc .BuAutoNum ==nil {_ecbc .BuAutoNum =_fcae .BuAutoNum ;};if _ecbc .BuChar ==nil {_ecbc .BuChar =_fcae .BuChar ;};if _ecbc .BuBlip ==nil {_ecbc .BuBlip =_fcae .BuBlip ;};if _ecbc .TabLst ==nil {_ecbc .TabLst =_fcae .TabLst ;};if _ecbc .ExtLst ==nil {_ecbc .ExtLst =_fcae .ExtLst ;};_ecbc .DefRPr =_accf (_ecbc .DefRPr ,_fcae .DefRPr );return _ecbc ;};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);func (_ebcf *convertContext )renderPageWithDrawableToGoImage (_cdc _gg .Drawable )(_ce .Image ,error ){_ceda :=_cef .MakeTempCreator (_ebcf ._cdb ,_ebcf ._agcg );_ceda .NewPage ();_ceda .Draw (_cdc );_ccgg ,_fcfa :=_cef .GetPageFromCreator (_ceda );if _fcfa !=nil {return nil ,_fcfa ;};return _ge .NewImageDevice ().Render (_ccgg );};func (_gbdb *textboxContext )drawParagraphs (){_gbdb ._fcea .NewPage ();for _ ,_dcba :=range _gbdb ._eag {for _ ,_egc :=range _dcba ._efdf {for _ ,_agcc :=range _egc ._ebgde {for _ ,_geaf :=range _agcc ._cbgc {_aabg :=_gbdb ._fcea .NewStyledParagraph ();if _geaf ._bgbb {_geaf ._abge =0;}else if _geaf ._cgc {_geaf ._abge =1.2*_egc ._age -_geaf ._bge ;};_efb :=_agcc ._cece +_geaf ._gca ;_fbaf :=_dcba ._edag +_egc ._ccgb +_geaf ._abge ;_aabg .SetPos (_efb ,_fbaf );_egec :=_aabg .Append (_geaf ._cdf );if _geaf ._ddff !=nil {_egec .Style =*_geaf ._ddff ;};_gbdb ._fcea .Draw (_aabg );if _geaf ._aeaa {_bfb :=_fbaf +_geaf ._bge +2;_cef .DrawLine (_gbdb ._fcea ,_efb ,_bfb ,_efb +_geaf ._ffg ,_bfb ,1,_geaf ._ddff .Color );};};};};};};func (_fgee *convertContext )getPhData (_ceae *_fa .CT_Shape )(*_ec .CT_Transform2D ,*_ec .CT_TextBodyProperties ,*_ec .CT_TextListStyle ,bool ,bool ){_bcfb ,_aadg :=_ffdc (_ceae );_fefg :=_aadg ==nil ;_eadf ,_beba ,_bdgg ,_fece :=_ggdc (_fgee ._bbaa .CSld ,_bcfb ,_aadg ,_fefg );_ffaa ,_dgff ,_gcgeg ,_ggec :=_ggdc (_fgee ._dbf .CSld ,_bcfb ,_aadg ,_fefg );if _ffaa ==nil {_ffaa =_eadf ;};_eafb ,_ceeb :=_gaga (_dgff ,_beba );var _feff ,_eaca bool ;if _gcgeg ==nil {if _bdgg !=nil {_feff =*_bdgg ;};}else {_feff =*_gcgeg ;};if _ggec ==nil {if _fece !=nil {_eaca =*_fece ;};}else {_eaca =*_ggec ;};return _ffaa ,_eafb ,_ceeb ,_feff ,_eaca ;};func _bbd (_dgbc string )[]*symbol {_beac :=[]*symbol {};for _ ,_bae :=range _dgbc {_beac =append (_beac ,&symbol {_cdf :string (_bae )});};return _beac ;};func _agg (_bffc ,_bdcfd *_ec .CT_TextBodyProperties )*_ec .CT_TextBodyProperties {_ead :=_ec .NewCT_TextBodyProperties ();if _bffc !=nil {*_ead =*_bffc ;};if _bdcfd ==nil {return _ead ;};if _ead .RotAttr ==nil {_ead .RotAttr =_bdcfd .RotAttr ;};if _ead .SpcFirstLastParaAttr ==nil {_ead .SpcFirstLastParaAttr =_bdcfd .SpcFirstLastParaAttr ;};if _ead .VertOverflowAttr ==_ec .ST_TextVertOverflowTypeUnset {_ead .VertOverflowAttr =_bdcfd .VertOverflowAttr ;};if _ead .HorzOverflowAttr ==_ec .ST_TextHorzOverflowTypeUnset {_ead .HorzOverflowAttr =_bdcfd .HorzOverflowAttr ;};if _ead .VertAttr ==_ec .ST_TextVerticalTypeUnset {_ead .VertAttr =_bdcfd .VertAttr ;};if _ead .WrapAttr ==_ec .ST_TextWrappingTypeUnset {_ead .WrapAttr =_bdcfd .WrapAttr ;};if _ead .LInsAttr ==nil {_ead .LInsAttr =_bdcfd .LInsAttr ;};if _ead .TInsAttr ==nil {_ead .TInsAttr =_bdcfd .TInsAttr ;};if _ead .RInsAttr ==nil {_ead .RInsAttr =_bdcfd .RInsAttr ;};if _ead .BInsAttr ==nil {_ead .BInsAttr =_bdcfd .BInsAttr ;};if _ead .NumColAttr ==nil {_ead .NumColAttr =_bdcfd .NumColAttr ;};if _ead .SpcColAttr ==nil {_ead .SpcColAttr =_bdcfd .SpcColAttr ;};if _ead .RtlColAttr ==nil {_ead .RtlColAttr =_bdcfd .RtlColAttr ;};if _ead .AnchorAttr ==_ec .ST_TextAnchoringTypeUnset {_ead .AnchorAttr =_bdcfd .AnchorAttr ;};if _ead .AnchorCtrAttr ==nil {_ead .AnchorCtrAttr =_bdcfd .AnchorCtrAttr ;};if _ead .ForceAAAttr ==nil {_ead .ForceAAAttr =_bdcfd .ForceAAAttr ;};if _ead .UprightAttr ==nil {_ead .UprightAttr =_bdcfd .UprightAttr ;};if _ead .CompatLnSpcAttr ==nil {_ead .CompatLnSpcAttr =_bdcfd .CompatLnSpcAttr ;};if _ead .PrstTxWarp ==nil {_ead .PrstTxWarp =_bdcfd .PrstTxWarp ;};if _ead .NoAutofit ==nil {_ead .NoAutofit =_bdcfd .NoAutofit ;};if _ead .NormAutofit ==nil {_ead .NormAutofit =_bdcfd .NormAutofit ;};if _ead .SpAutoFit ==nil {_ead .SpAutoFit =_bdcfd .SpAutoFit ;};if _ead .Scene3d ==nil {_ead .Scene3d =_bdcfd .Scene3d ;};if _ead .Sp3d ==nil {_ead .Sp3d =_bdcfd .Sp3d ;};if _ead .FlatTx ==nil {_ead .FlatTx =_bdcfd .FlatTx ;};if _ead .ExtLst ==nil {_ead .ExtLst =_bdcfd .ExtLst ;};return _ead ;};func (_ced *convertContext )getShapesFromSpPr (_ffda *_ec .CT_ShapeProperties ,_dad *_ec .CT_ShapeStyle ,_agd bool )([]_gg .Drawable ,float64 ,float64 ,float64 ,float64 ,_gg .Color ,bool ){_ccea :=[]_gg .Drawable {};var _cbf ,_efc ,_fgd ,_adce ,_eeef float64 ;var _agb ,_bgg ,_gbc ,_gge _gg .Color ;var _aeg *_ec .CT_BlipFillProperties ;_bce ,_gbe :=1.0,1.0;if _dad !=nil {_agb ,_bgg ,_gge =_ced .getStyleColors (_dad );};if _aafg :=_ffda .Ln ;_aafg !=nil {if _aafg .NoFill !=nil {_gbc ,_eeef =nil ,0;}else {_gbc ,_eeef ,_bce =_ced .getInfoFromLn (_aafg );if _gbc ==nil {_gbc =_gge ;};};};if _ffda .NoFill !=nil {_bgg ,_gbe =nil ,0;}else if _agd {_bgg =_ced ._egea ._cded ;_gbe =_ced ._egea ._bbb ;_aeg =_ced ._egea ._ccaa ;}else if _dbb :=_ffda .SolidFill ;_dbb !=nil {_bgg ,_gbe =_ced .getColorFromSolidFill (_dbb );};var _dba bool ;if _df :=_ffda .Xfrm ;_df !=nil {_cbf ,_efc ,_fgd ,_adce =_cef .GetDataFromXfrm (_df );_dba =true ;};if _fedf :=_ffda .CustGeom ;_fedf !=nil {_fec :=[]_feb .Point {};_edf ,_gc :=1.0,1.0;if _faaf :=_fedf .PathLst ;_faaf !=nil {for _ ,_ffag :=range _faaf .Path {if _ffag !=nil {if _fbab :=_ffag .WAttr ;_fbab !=nil {_edf =_fgd /_e .FromEMU (*_fbab );};if _add :=_ffag .HAttr ;_add !=nil {_gc =_adce /_e .FromEMU (*_add );};for _ ,_cfcc :=range _ffag .Close {if _cfcc !=nil {};};for _ ,_dab :=range _ffag .MoveTo {if _dab !=nil &&_dab .Pt !=nil {_cda ,_egb :=_eaec (_dab .Pt );_fec =append (_fec ,_feb .Point {X :_cda *_edf +_cbf ,Y :_egb *_gc +_efc });};};for _ ,_afcd :=range _ffag .LnTo {if _afcd !=nil &&_afcd .Pt !=nil {_fbf ,_dfg :=_eaec (_afcd .Pt );_fec =append (_fec ,_feb .Point {X :_fbf *_edf +_cbf ,Y :_dfg *_gc +_efc });};};_gbb :=_ced ._ddgf .NewPolygon ([][]_feb .Point {_fec });_gbb .SetFillColor (_bgg );_gbb .SetFillOpacity (_gbe );_gbb .SetBorderWidth (_eeef );if _gbc !=nil {_gbb .SetBorderColor (_gbc );_gbb .SetBorderOpacity (_bce );};_ccea =append (_ccea ,_gbb );};};};};if _bab :=_ffda .PrstGeom ;_bab !=nil {switch _bab .PrstAttr {case _ec .ST_ShapeTypeRect :if _aeg !=nil {_fbbf :=_ced .getShapeFromBlipFill (_aeg ,_cbf ,_efc ,_fgd ,_adce );_ccea =append (_ccea ,_fbbf );}else {_abdf :=_ced ._ddgf .NewRectangle (_cbf ,_efc ,_fgd ,_adce );_abdf .SetFillColor (_bgg );_abdf .SetFillOpacity (_gbe );_abdf .SetBorderWidth (_eeef );if _gbc !=nil {_abdf .SetBorderColor (_gbc );_abdf .SetBorderOpacity (_bce );};_ccea =append (_ccea ,_abdf );};case _ec .ST_ShapeTypeLine :_bfg :=_ced ._ddgf .NewLine (_cbf ,_efc ,_cbf +_fgd ,_efc +_adce );_bfg .SetLineWidth (_eeef );if _gbc !=nil {_bfg .SetColor (_gbc );};_ccea =append (_ccea ,_bfg );};};return _ccea ,_cbf ,_efc ,_fgd ,_adce ,_agb ,_dba ;};type romanMatch struct{_bcg int ;_dbfc string ;};func (_eed *convertContext )makePdfBlockFromTxBody (_fbfg *_ec .CT_TextBody ,_eecb *_ec .CT_TextBodyProperties ,_gdbf *_ec .CT_TextListStyle ,_fgb ,_cefe float64 ,_dde _gg .Color ,_fgdb ,_gea bool )(*_gg .Block ,error ){var _gfg *_ec .CT_TextParagraphProperties ;if _gcg :=_fbfg .LstStyle ;_gcg !=nil {var _bbf *_ec .CT_TextParagraphProperties ;if _gcg .Lvl1pPr !=nil {_bbf =_gcg .Lvl1pPr ;};_gfg =_adfb (_bbf ,_gcg .DefPPr );};var _ddcb *_ec .CT_TextParagraphProperties ;if _gfg !=nil {if _fgdb {_ddcb =_eed ._fbae [0];}else if _gea {_ddcb =_eed ._dge [0];}else {_ddcb =_eed ._bgcb [0];};if _gdbf !=nil {_ddcb =_adfb (_adfb (_gdbf .Lvl1pPr ,_gdbf .DefPPr ),_ddcb );};_ddcb =_adfb (_gfg ,_ddcb );}else {if _fgdb {_ddcb =_eed ._ebec ;}else if _gea {_ddcb =_eed ._ebd ;}else {_ddcb =_eed ._abac ;};};_agdb ,_dabf :=_dcca (2.5),_dcca (2.5);_gec ,_gdgc :=_dcca (1.3),_dcca (1.3);_ade :=true ;_badb :=_ec .ST_TextAnchoringTypeT ;if _eecb !=nil {if _cac :=_eecb .AnchorAttr ;_cac !=_ec .ST_TextAnchoringTypeUnset {_badb =_cac ;};};if _fcg :=_fbfg .BodyPr ;_fcg !=nil {if _acfc :=_fcg .LInsAttr ;_acfc !=nil {_agdb =_e .FromEMU (_cef .FromSTCoordinate32 (*_acfc ));};if _ddce :=_fcg .TInsAttr ;_ddce !=nil {_gec =_e .FromEMU (_cef .FromSTCoordinate32 (*_ddce ));};if _edee :=_fcg .RInsAttr ;_edee !=nil {_dabf =_e .FromEMU (_cef .FromSTCoordinate32 (*_edee ));};if _bcfc :=_fcg .BInsAttr ;_bcfc !=nil {_gdgc =_e .FromEMU (_cef .FromSTCoordinate32 (*_bcfc ));};_ade =_fcg .WrapAttr !=_ec .ST_TextWrappingTypeNone ;if _gbed :=_fcg .AnchorAttr ;_gbed !=_ec .ST_TextAnchoringTypeUnset {_badb =_fcg .AnchorAttr ;};};_eaf :=_cef .MakeTempCreator (_fgb ,_cefe );_eaf .SetPageMargins (_agdb ,_dabf ,_gec ,_gdgc );_ebc :=&textboxContext {_baf :_eed ,_cceab :_ade ,_abfag :_fgb -_agdb -_dabf ,_caca :_cefe -_gec -_gdgc ,_fcea :_eaf ,_eag :[]*paragraph {}};_gbg :=1;for _ ,_gcgf :=range _fbfg .P {if _gcgf !=nil {_cea :=_gcgf .PPr ;var _fbe *prefixData ;if _cea !=nil &&_cea .BuNone ==nil {var _gfff string ;var _aaa bool ;if _adec :=_cea .BuAutoNum ;_adec !=nil {var _cbfa string ;if _fcbg :=_adec .StartAtAttr ;_fcbg !=nil {_gbg =int (*_fcbg );};var _acb string ;switch _adec .TypeAttr {case _ec .ST_TextAutonumberSchemeAlphaUcParenBoth ,_ec .ST_TextAutonumberSchemeAlphaUcParenR ,_ec .ST_TextAutonumberSchemeAlphaUcPeriod :_acb =_fdcd (_gbg ,true );case _ec .ST_TextAutonumberSchemeAlphaLcParenBoth ,_ec .ST_TextAutonumberSchemeAlphaLcParenR ,_ec .ST_TextAutonumberSchemeAlphaLcPeriod :_acb =_fdcd (_gbg ,false );case _ec .ST_TextAutonumberSchemeRomanUcParenBoth ,_ec .ST_TextAutonumberSchemeRomanUcParenR ,_ec .ST_TextAutonumberSchemeRomanUcPeriod :_acb =_aafa (_gbg ,true );case _ec .ST_TextAutonumberSchemeRomanLcParenBoth ,_ec .ST_TextAutonumberSchemeRomanLcParenR ,_ec .ST_TextAutonumberSchemeRomanLcPeriod :_acb =_aafa (_gbg ,false );default:_acb =_a .Itoa (_gbg );};switch _adec .TypeAttr {case _ec .ST_TextAutonumberSchemeAlphaLcPeriod ,_ec .ST_TextAutonumberSchemeAlphaUcPeriod ,_ec .ST_TextAutonumberSchemeArabicPeriod ,_ec .ST_TextAutonumberSchemeRomanLcPeriod ,_ec .ST_TextAutonumberSchemeRomanUcPeriod ,_ec .ST_TextAutonumberSchemeArabicDbPeriod ,_ec .ST_TextAutonumberSchemeEa1ChsPeriod ,_ec .ST_TextAutonumberSchemeEa1ChtPeriod ,_ec .ST_TextAutonumberSchemeEa1JpnChsDbPeriod ,_ec .ST_TextAutonumberSchemeEa1JpnKorPeriod ,_ec .ST_TextAutonumberSchemeThaiAlphaPeriod ,_ec .ST_TextAutonumberSchemeThaiNumPeriod ,_ec .ST_TextAutonumberSchemeHindiAlphaPeriod ,_ec .ST_TextAutonumberSchemeHindiNumPeriod ,_ec .ST_TextAutonumberSchemeHindiAlpha1Period :_cbfa ="\u002e";case _ec .ST_TextAutonumberSchemeAlphaLcParenR ,_ec .ST_TextAutonumberSchemeAlphaUcParenR ,_ec .ST_TextAutonumberSchemeArabicParenR ,_ec .ST_TextAutonumberSchemeRomanLcParenR ,_ec .ST_TextAutonumberSchemeRomanUcParenR ,_ec .ST_TextAutonumberSchemeThaiAlphaParenR ,_ec .ST_TextAutonumberSchemeThaiNumParenR ,_ec .ST_TextAutonumberSchemeHindiNumParenR :_cbfa ="\u0029";};_gfff =_acb +_cbfa ;_gbg ++;}else if _gdf :=_cea .BuChar ;_gdf !=nil {_afa :=_gdf .CharAttr ;if _bcfg ,_cgg :=_fbee [_afa ];_cgg {_afa =string (rune (_bcfg ));}else {_afa ="\u2022";};_gfff =_afa ;_aaa =true ;};if _gfff !=""{var _acg ,_cggf float64 ;if _cea .MarLAttr !=nil {_acg =_e .FromEMU (int64 (*_cea .MarLAttr ));};if _cea .IndentAttr !=nil {_cggf =_e .FromEMU (int64 (*_cea .IndentAttr ));};_fbe =&prefixData {_gda :_gfff ,_gacg :_aaa ,_bbeg :_acg ,_dcfe :_cggf };};};_cea =_adfb (_cea ,_ddcb );_acbg :=_accf (_gcgf .EndParaRPr ,_cea .DefRPr );_ebc .newParagraph ();_ebc .assignPropsToCurrentParagraph (_cea );_ebc .newLine ();_ebc .newWord ();for _bec ,_abfa :=range _gcgf .EG_TextRun {_ebc .addTextRun (_abfa ,_acbg ,_dde ,_fbe );if _bec > 0{_fbe =nil ;};};_ebc .addCurrentWordToParagraph ();};_ebc .addCurrentParagraph ();};_ebc .alignVertically (_badb );_ebc .drawParagraphs ();return _cef .MakeBlockFromCreator (_eaf );};func _dfbf (_ddgbd *_ec .CT_TextCharacterProperties ,_dfde *_ec .CT_TableStyleTextStyle )*_ec .CT_TextCharacterProperties {_bgac :=_ec .NewCT_TextCharacterProperties ();if _ddgbd !=nil {*_bgac =*_ddgbd ;};if _dfde ==nil {return _bgac ;};if _bgac .BAttr ==nil &&_dfde .BAttr !=_ec .ST_OnOffStyleTypeUnset {_bdddf :=_dfde .BAttr ==_ec .ST_OnOffStyleTypeOn ;_bgac .BAttr =&_bdddf ;};if _bgac .IAttr ==nil &&_dfde .IAttr !=_ec .ST_OnOffStyleTypeUnset {_gdae :=_dfde .IAttr ==_ec .ST_OnOffStyleTypeOn ;_bgac .IAttr =&_gdae ;};if _bgac .NoFill ==nil &&_bgac .SolidFill ==nil {_bgac .SolidFill =_ec .NewCT_SolidColorFillProperties ();_bgac .SolidFill .ScrgbClr =_dfde .ScrgbClr ;_bgac .SolidFill .SrgbClr =_dfde .SrgbClr ;_bgac .SolidFill .HslClr =_dfde .HslClr ;_bgac .SolidFill .SysClr =_dfde .SysClr ;_bgac .SolidFill .SchemeClr =_dfde .SchemeClr ;_bgac .SolidFill .PrstClr =_dfde .PrstClr ;};if _edaeg :=_dfde .Font ;_edaeg !=nil &&_bgac .Latin ==nil &&_bgac .Ea ==nil &&_bgac .Cs ==nil {_bgac .Latin =_edaeg .Latin ;_bgac .Ea =_edaeg .Ea ;_bgac .Cs =_edaeg .Cs ;};return _bgac ;};type paragraph struct{_ged float64 ;_cca float64 ;_cab float64 ;_ecbb float64 ;_egaf float64 ;_edea float64 ;_edag float64 ;_bgaa float64 ;_ffee _ec .ST_TextAlignType ;_cbdd float64 ;_afgc bool ;_efdf []*line ;};func (_gaca *convertContext )makePdfImageFromBlipFill (_dacc *_ec .CT_BlipFillProperties )(*_gg .Image ,[]*_ec .CT_BlipChoice ,error ){if _efdg :=_dacc .Blip ;_efdg !=nil {if _ceceg :=_efdg .EmbedAttr ;_ceceg !=nil {_cage ,_bacb :=_gaca ._gfcc .GetImageByRelID (*_ceceg );if _bacb {_adfd ,_bdfb :=_b .Open (_cage .Path ());if _bdfb !=nil {_ad .Log .Debug ("\u0046\u0069\u006c\u0065 o\u0070\u0065\u006e\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_bdfb );return nil ,nil ,_bdfb ;};defer _adfd .Close ();_ggfdf ,_ ,_bdfb :=_ce .Decode (_adfd );if _bdfb !=nil {_ad .Log .Debug ("\u0044\u0065\u0063\u006fde\u0020\u0069\u006d\u0061\u0067\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020%\u0073",_bdfb );return nil ,nil ,_bdfb ;};if _fdcdg :=_dacc .SrcRect ;_fdcdg !=nil {_bfdf :=_ggfdf .Bounds ().Size ();_fcgb :=_bfdf .X ;_geca :=_bfdf .Y ;var _gdfg ,_degd ,_eagc ,_fdde int ;var _bbda bool ;if _badg :=_fdcdg .LAttr ;_badg !=nil {_gdfg =int (float64 (_fcgb )*_cef .FromSTPercentage (_badg ));_bbda =true ;}else {_gdfg =0;};if _ddcce :=_fdcdg .TAttr ;_ddcce !=nil {_eagc =int (float64 (_geca )*_cef .FromSTPercentage (_ddcce ));_bbda =true ;}else {_eagc =0;};if _cfea :=_fdcdg .RAttr ;_cfea !=nil {_degd =int (float64 (_fcgb )*(1-_cef .FromSTPercentage (_cfea )));_bbda =true ;}else {_degd =_fcgb ;};if _ggbc :=_fdcdg .BAttr ;_ggbc !=nil {_fdde =int (float64 (_geca )*(1-_cef .FromSTPercentage (_ggbc )));_bbda =true ;}else {_fdde =_geca ;};if _bbda {_ggfdf =_cef .CropImageByRect (_ggfdf ,_ce .Rect (_gdfg ,_eagc ,_degd +1,_fdde +1));};};_eggg ,_bdfb :=_gaca ._ddgf .NewImageFromGoImage (_ggfdf );if _bdfb !=nil {_ad .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",_bdfb );return nil ,nil ,_bdfb ;};return _eggg ,_efdg .Choice ,nil ;};};};return nil ,nil ,nil ;};func (_dcb *convertContext )drawSlide (){_dcb ._ddgf .NewPage ();for _ ,_afd :=range _dcb ._gdgcf {if _afd !=nil {_dcb ._ddgf .MoveTo (0,0);_dcb ._ddgf .Draw (_afd );};};};func _dcca (_bfe float64 )float64 {return _bfe *_e .Millimeter };func (_cec *convertContext )makePdfDivisionFromTxBody (_ded *_ec .CT_TextBody ,_ace ,_fbag float64 ,_fcb *_ec .CT_TableStyleTextStyle )*_gg .Division {_eae :=_cec ._ddgf .NewDivision ();_cad :=_cec ._abac ;_eeb :=_ec .ST_TextAnchoringTypeT ;if _fdg :=_ded .BodyPr ;_fdg !=nil {if _fbabb :=_fdg .AnchorAttr ;_fbabb !=_ec .ST_TextAnchoringTypeUnset {_eeb =_fdg .AnchorAttr ;};};if _bgb :=_ded .LstStyle ;_bgb !=nil {var _fcece *_ec .CT_TextParagraphProperties ;if _bgb .Lvl1pPr !=nil {_fcece =_bgb .Lvl1pPr ;}else {_fcece =_cec ._bgcb [0];};_cad =_adfb (_fcece ,_adfb (_bgb .DefPPr ,_cad ));};for _ ,_daa :=range _ded .P {if _daa !=nil {_babe :=_cec ._ddgf .NewStyledParagraph ();_dae :=_adfb (_daa .PPr ,_cad );_ccd :=_accf (_daa .EndParaRPr ,_dae .DefRPr );if len (_daa .EG_TextRun )==0{_babe .Append ("\u000a");_eae .Add (_babe );continue ;};for _ ,_fcee :=range _daa .EG_TextRun {if _bba :=_fcee .Br ;_bba !=nil {_babe .Append ("\u000a");}else if _bgf :=_fcee .R ;_bgf !=nil {_aac :=_dfbf (_bgf .RPr ,_fcb );_aac =_accf (_aac ,_ccd );var _bdc _gg .Color ;if _aac .SolidFill !=nil {_bdc ,_ =_cec .getColorFromSolidFill (_aac .SolidFill );}else {_bdc =_gg .ColorBlack ;};_febg ,_cgd ,_aba ,_ :=_cec .makeStyleFromRPr (_aac );_febg .Color =_bdc ;if _cgd {_febg .TextRise =0.5;}else if _aba {_febg .TextRise =-0.5;};_fccg :=_bgf .T ;if _aac .CapAttr ==_ec .ST_TextCapsTypeAll {for _ ,_adb :=range _fccg {_adb =[]rune (_da .ToUpper (string (_adb )))[0];};};_acac :=_babe .Append (_fccg );_acac .Style =*_febg ;};};_ =_eeb ;_eae .Add (_babe );};};return _eae ;};func (_egbe *line )moveRight (_agfb float64 ){for _ ,_ddcea :=range _egbe ._ebgde {_ddcea ._cece +=_agfb ;};};func (_cbad *textboxContext )addTextRun (_bee *_ec .EG_TextRun ,_cbc *_ec .CT_TextCharacterProperties ,_bedg _gg .Color ,_fff *prefixData ){if _beb :=_bee .Br ;_beb !=nil {_cbad .addCurrentWordToParagraph ();_cbad .newLine ();_cbad .newWord ();}else if _edfg :=_bee .R ;_edfg !=nil {var _bgfa _gg .Color ;if _edfg .RPr .SolidFill !=nil {_bgfa ,_ =_cbad ._baf .getColorFromSolidFill (_edfg .RPr .SolidFill );}else if _bedg !=nil {_bgfa =_bedg ;}else if _cbc .SolidFill !=nil {_bgfa ,_ =_cbad ._baf .getColorFromSolidFill (_cbc .SolidFill );}else {_bgfa =_gg .ColorBlack ;};_adg :=_accf (_edfg .RPr ,_cbc );_fbbd ,_gbedb ,_gdd ,_fdae :=_cbad ._baf .makeStyleFromRPr (_adg );_fbbd .Color =_bgfa ;if _fff !=nil {_cbad .addPrefix (_fff ,_fbbd );};_ggc :=_bbd (_edfg .T );for _ ,_cfgf :=range _ggc {_cfgf ._ddff =_fbbd ;_cfgf ._bgbb =_gbedb ;_cfgf ._cgc =_gdd ;_cfgf ._aeaa =_fdae ;if _adg .CapAttr ==_ec .ST_TextCapsTypeAll {_cfgf ._cdf =_da .ToUpper (_cfgf ._cdf );};_cbad .addTextSymbol (_cfgf );};};};type symbol struct{_cdf string ;_gca float64 ;_bdbaf float64 ;_bge float64 ;_abge float64 ;_ffg float64 ;_ddff *_gg .TextStyle ;_bage string ;_bgbb bool ;_cgc bool ;_aeaa bool ;};func (_fef *convertContext )getBorderStyle (_ccde *_ec .CT_LineProperties )(_gg .CellBorderStyle ,*_gg .Color ,float64 ){if _ccde ==nil ||_ccde .NoFill !=nil {return _gg .CellBorderStyleNone ,nil ,0;};var _fgbf _gg .Color ;if _fdda :=_ccde .SolidFill ;_fdda !=nil {_fgbf ,_ =_fef .getColorFromSolidFill (_fdda );};_eecg :=0.0;if _ebgd :=_ccde .WAttr ;_ebgd !=nil {_eecg =_e .FromEMU (int64 (*_ebgd ));};return _gg .CellBorderStyleSingle ,&_fgbf ,_eecg ;};func _gbbe (_aegg ,_dccc *_ec .CT_TextListStyle )*_ec .CT_TextListStyle {_bgdf :=_ec .NewCT_TextListStyle ();if _aegg !=nil {*_bgdf =*_aegg ;};if _dccc ==nil {return _bgdf ;};_bgdf .DefPPr =_adfb (_bgdf .DefPPr ,_dccc .DefPPr );_bgdf .Lvl1pPr =_adfb (_bgdf .Lvl1pPr ,_dccc .Lvl1pPr );_bgdf .Lvl2pPr =_adfb (_bgdf .Lvl2pPr ,_dccc .Lvl2pPr );_bgdf .Lvl3pPr =_adfb (_bgdf .Lvl3pPr ,_dccc .Lvl3pPr );_bgdf .Lvl4pPr =_adfb (_bgdf .Lvl4pPr ,_dccc .Lvl4pPr );_bgdf .Lvl5pPr =_adfb (_bgdf .Lvl5pPr ,_dccc .Lvl5pPr );_bgdf .Lvl6pPr =_adfb (_bgdf .Lvl6pPr ,_dccc .Lvl6pPr );_bgdf .Lvl7pPr =_adfb (_bgdf .Lvl7pPr ,_dccc .Lvl7pPr );_bgdf .Lvl8pPr =_adfb (_bgdf .Lvl8pPr ,_dccc .Lvl8pPr );_bgdf .Lvl9pPr =_adfb (_bgdf .Lvl9pPr ,_dccc .Lvl9pPr );return _bgdf ;};type prefixData struct{_gda string ;_gacg bool ;_bbeg float64 ;_dcfe float64 ;};func (_dbaf *textboxContext )alignSymbolsVertically (){for _ ,_dbef :=range _dbaf ._eag {for _ ,_dfbe :=range _dbef ._efdf {_abe :=0.0;for _ ,_gfa :=range _dfbe ._ebgde {for _ ,_cddb :=range _gfa ._cbgc {if _cddb ._bdbaf > _abe {_abe =_cddb ._bdbaf ;};};};for _ ,_bbde :=range _dfbe ._ebgde {for _ ,_acce :=range _bbde ._cbgc {if _acce ._bge < _abe {_acce ._abge =_abe -_acce ._bge ;};};};};};};
// FontStyle represents a kind of font styling. It can be FontStyle_Regular, FontStyle_Bold, FontStyle_Italic and FontStyle_BoldItalic.
type FontStyle =_cef .FontStyle ;func _accf (_dbfd ,_dced *_ec .CT_TextCharacterProperties )*_ec .CT_TextCharacterProperties {_ccdf :=_ec .NewCT_TextCharacterProperties ();if _dbfd !=nil {*_ccdf =*_dbfd ;};if _dced ==nil {return _ccdf ;};if _ccdf .KumimojiAttr ==nil {_ccdf .KumimojiAttr =_dced .KumimojiAttr ;};if _ccdf .LangAttr ==nil {_ccdf .LangAttr =_dced .LangAttr ;};if _ccdf .AltLangAttr ==nil {_ccdf .AltLangAttr =_dced .AltLangAttr ;};if _ccdf .SzAttr ==nil {_ccdf .SzAttr =_dced .SzAttr ;};if _ccdf .BAttr ==nil {_ccdf .BAttr =_dced .BAttr ;};if _ccdf .IAttr ==nil {_ccdf .IAttr =_dced .IAttr ;};if _ccdf .UAttr ==_ec .ST_TextUnderlineTypeUnset {_ccdf .UAttr =_dced .UAttr ;};if _ccdf .StrikeAttr ==_ec .ST_TextStrikeTypeUnset {_ccdf .StrikeAttr =_dced .StrikeAttr ;};if _ccdf .KernAttr ==nil {_ccdf .KernAttr =_dced .KernAttr ;};if _ccdf .CapAttr ==_ec .ST_TextCapsTypeUnset {_ccdf .CapAttr =_dced .CapAttr ;};if _ccdf .SpcAttr ==nil {_ccdf .SpcAttr =_dced .SpcAttr ;};if _ccdf .NormalizeHAttr ==nil {_ccdf .NormalizeHAttr =_dced .NormalizeHAttr ;};if _ccdf .BaselineAttr ==nil {_ccdf .BaselineAttr =_dced .BaselineAttr ;};if _ccdf .NoProofAttr ==nil {_ccdf .NoProofAttr =_dced .NoProofAttr ;};if _ccdf .DirtyAttr ==nil {_ccdf .DirtyAttr =_dced .DirtyAttr ;};if _ccdf .ErrAttr ==nil {_ccdf .ErrAttr =_dced .ErrAttr ;};if _ccdf .SmtCleanAttr ==nil {_ccdf .SmtCleanAttr =_dced .SmtCleanAttr ;};if _ccdf .SmtIdAttr ==nil {_ccdf .SmtIdAttr =_dced .SmtIdAttr ;};if _ccdf .BmkAttr ==nil {_ccdf .BmkAttr =_dced .BmkAttr ;};if _ccdf .Ln ==nil {_ccdf .Ln =_dced .Ln ;};if _ccdf .NoFill ==nil {_ccdf .NoFill =_dced .NoFill ;};if _ccdf .SolidFill ==nil {_ccdf .SolidFill =_dced .SolidFill ;};if _ccdf .BlipFill ==nil {_ccdf .BlipFill =_dced .BlipFill ;};if _ccdf .EffectLst ==nil {_ccdf .EffectLst =_dced .EffectLst ;};if _ccdf .EffectDag ==nil {_ccdf .EffectDag =_dced .EffectDag ;};if _ccdf .Highlight ==nil {_ccdf .Highlight =_dced .Highlight ;};if _ccdf .ULnTx ==nil {_ccdf .ULnTx =_dced .ULnTx ;};if _ccdf .ULn ==nil {_ccdf .ULn =_dced .ULn ;};if _ccdf .UFillTx ==nil {_ccdf .UFillTx =_dced .UFillTx ;};if _ccdf .UFill ==nil {_ccdf .UFill =_dced .UFill ;};if _ccdf .Latin ==nil {_ccdf .Latin =_dced .Latin ;};if _ccdf .Ea ==nil {_ccdf .Ea =_dced .Ea ;};if _ccdf .Cs ==nil {_ccdf .Cs =_dced .Cs ;};if _ccdf .Sym ==nil {_ccdf .Sym =_dced .Sym ;};if _ccdf .Rtl ==nil {_ccdf .Rtl =_dced .Rtl ;};return _ccdf ;};
// RegisterFontsFromDirectory registers all fonts from the given directory automatically detecting font families and styles.
func RegisterFontsFromDirectory (dirName string )error {return _cef .RegisterFontsFromDirectory (dirName );};func (_efd *convertContext )stretchImage (_cce *_gg .Image ,_cfd *_ec .CT_StretchInfoProperties ,_febe ,_cfg ,_bca ,_bdg float64 )(*_gg .Image ,float64 ,float64 ){_dgf :=_cfd .FillRect ;if _dgf ==nil {_dgb :=_cce .Width ()/_cce .Height ();_bdba :=_bca /_bdg ;var _ga ,_gbad float64 ;if _dgb > _bdba {_gbad =_bdg ;_ga =_bdg *_dgb ;}else {_ga =_bca ;_gbad =_bca /_dgb ;};_cce .Scale (_ga /_cce .Width (),_gbad /_cce .Height ());return _cce ,_febe ,_cfg ;};var _fcac ,_dbc ,_cba ,_fb float64 ;if _bff :=_dgf .LAttr ;_bff !=nil {_cba =_cef .FromSTPercentage (_bff );};if _begbd :=_dgf .TAttr ;_begbd !=nil {_fcac =_cef .FromSTPercentage (_begbd );};if _gac :=_dgf .RAttr ;_gac !=nil {_fb =_cef .FromSTPercentage (_gac );};if _cfc :=_dgf .BAttr ;_cfc !=nil {_dbc =_cef .FromSTPercentage (_cfc );};_ccef :=_bca *(1-_cba -_fb );_cbg :=_bdg *(1-_fcac -_dbc );_cce .Scale (_ccef /_cce .Width (),_cbg /_cce .Height ());return _cce ,_febe +_cba *_bca ,_cfg +_fcac *_bdg ;};func _ffdc (_affc *_fa .CT_Shape )(_fa .ST_PlaceholderType ,*uint32 ){if _eebd :=_affc .NvSpPr ;_eebd !=nil {if _gdce :=_eebd .NvPr ;_gdce !=nil {if _ceca :=_gdce .Ph ;_ceca !=nil {return _ceca .TypeAttr ,_ceca .IdxAttr ;};};};return _fa .ST_PlaceholderTypeUnset ,nil ;};func (_deade *convertContext )getStyleColors (_cbdb *_ec .CT_ShapeStyle )(_gg .Color ,_gg .Color ,_gg .Color ){var _dgdd ,_feaa ,_egef _gg .Color ;if _eeeg :=_cbdb .LnRef ;_eeeg !=nil {_feaa =_deade .getColorFromMatrixReference (_eeeg );};if _afdf :=_cbdb .FillRef ;_afdf !=nil {_egef =_deade .getColorFromMatrixReference (_afdf );};if _bfaaa :=_cbdb .FontRef ;_bfaaa !=nil {_dgdd =_deade .getColorFromFontReference (_bfaaa );};return _dgdd ,_egef ,_feaa ;};func (_daef *textboxContext )newWord (){_daef ._fdc =&word {_bdf :true ,_cece :_daef ._caf ._baca }};func (_edeg *convertContext )getColorFromFontReference (_effa *_ec .CT_FontReference )_gg .Color {var _efgg _gg .Color ;var _fbaeb string ;if _deadf :=_effa .SrgbClr ;_deadf !=nil {_fbaeb =_deadf .ValAttr ;}else if _cdafc :=_effa .SchemeClr ;_cdafc !=nil {_fbaeb =_cef .GetColorStringFromDmlColor (_edeg ._egg .GetColorBySchemeColor (_cdafc .ValAttr ));_fbaeb =_cef .AdjustColor (_fbaeb ,_cdafc .EG_ColorTransform );};if _fbaeb !=""{_efgg =_gg .ColorRGBFromHex ("\u0023"+_fbaeb );};return _efgg ;};func (_bcaf *convertContext )applyBlipEffectsOnImg (_deaf *_gg .Image ,_gfeba ,_agbg float64 ,_ebefe []*_ec .CT_BlipChoice )*_gg .Image {if len (_ebefe )==0{return _deaf ;};_deaf .SetPos (_gfeba ,_agbg );_fffd ,_fdgc :=_bcaf .renderPageWithDrawableToGoImage (_deaf );if _fdgc !=nil {_ad .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",_fdgc );return _deaf ;};_aae ,_fdgc :=_bcaf .renderCurrentStateToGoImage ();if _fdgc !=nil {_ad .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",_fdgc );return _deaf ;};_efgc :=_fffd .Bounds ();_fcfb :=_ce .NewRGBA (_efgc );_fdaf ,_fdbd :=_deaf .Width (),_deaf .Height ();for _ ,_gdab :=range _ebefe {for _ ,_egfb :=range _gdab .AlphaModFix {if _eggga :=_egfb .AmtAttr ;_eggga !=nil {if _cecae :=_eggga .ST_PositivePercentageDecimal ;_cecae !=nil {_dedg :=uint8 (255*(*_cecae )/100000);_bedfa :=_ce .NewUniform (_c .Alpha {_dedg });_dd .Draw (_fcfb ,_efgc ,_aae ,_ce .Point {0,0},_dd .Src );_dd .DrawMask (_fcfb ,_efgc ,_fffd ,_ce .Point {0,0},_bedfa ,_ce .Point {0,0},_dd .Over );};};};};_cdece :=_ce .Rect (int (_gfeba ),int (_agbg ),int (_gfeba +_fdaf )+1,int (_agbg +_fdbd )+1);_decd :=_cef .CropImageByRect (_fcfb ,_cdece );_cdfe ,_fdgc :=_bcaf ._ddgf .NewImageFromGoImage (_decd );if _fdgc !=nil {_ad .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",_fdgc );return _deaf ;};return _cdfe ;};func (_acf *convertContext )makeSlide (){_bb :=_acf ._gfcc .X ().CSld ;if _bb ==nil {return ;};_fcc :=&background {};if _fgaa :=_bb .Bg ;_fgaa !=nil {if _abf :=_fgaa .BgPr ;_abf !=nil {if _abf .NoFill ==nil {if _aa :=_abf .SolidFill ;_aa !=nil {_aaf ,_gb :=_acf .getColorFromSolidFill (_aa );if _aaf !=nil {_fcc ._cded =_aaf ;_fcc ._bbb =_gb ;};}else if _abd :=_abf .BlipFill ;_abd !=nil {_fcc ._ccaa =_abd ;};};};};_acf ._egea =_fcc ;if _ca :=_bb .SpTree ;_ca !=nil {for _ ,_gf :=range _ca .Choice {if _gf !=nil {for _ ,_de :=range _gf .Sp {if _de !=nil {_gff :=_acf .getShapes (_de );_acf ._gdgcf =append (_acf ._gdgcf ,_gff ...);};};for _ ,_be :=range _gf .GraphicFrame {if _be !=nil {var _bed ,_dc ,_fce ,_eda float64 ;if _adc :=_be .Xfrm ;_adc !=nil {_bed ,_dc ,_fce ,_eda =_cef .GetDataFromXfrm (_adc );};if _beg :=_be .Graphic ;_beg !=nil {if _bde :=_beg .GraphicData ;_bde !=nil {for _ ,_ggb :=range _bde .Any {if _bda ,_bg :=_ggb .(*_eb .Chart );_bg {_edbf ,_gee :=_acf .makePdfBlockFromChart (_bda ,_fce ,_eda );if _gee !=nil {_ad .Log .Debug ("C\u0061\u006e\u006e\u006ft \u0072e\u0061\u0064\u0020\u0062\u006co\u0063\u006b\u003a\u0020\u0025\u0073",_gee );};if _edbf !=nil {_edbf .SetPos (_bed ,_dc );_acf ._gdgcf =append (_acf ._gdgcf ,_edbf );};}else if _ddg ,_aef :=_ggb .(*_ec .Tbl );_aef {_db :=_acf .makePdfBlockFromTable (_ddg ,_fce );if _db !=nil {_fca :=_gg .NewBlock (_fce ,_eda );_fca .SetPos (_bed ,_dc );_fca .Draw (_db );_acf ._gdgcf =append (_acf ._gdgcf ,_fca );};};};};};};};for _ ,_fde :=range _gf .CxnSp {if _fde !=nil {_dg :=_acf .getConnectors (_fde );_acf ._gdgcf =append (_acf ._gdgcf ,_dg ...);};};for _ ,_ccc :=range _gf .Pic {if _ccc !=nil {var _gbf ,_cb ,_fed ,_cd float64 ;if _gdc :=_ccc .SpPr ;_gdc !=nil {if _bdea :=_gdc .Xfrm ;_bdea !=nil {_gbf ,_cb ,_fed ,_cd =_cef .GetDataFromXfrm (_bdea );};};if _feg :=_ccc .BlipFill ;_feg !=nil {_cf :=_acf .getShapeFromBlipFill (_feg ,_gbf ,_cb ,_fed ,_cd );_acf ._gdgcf =append (_acf ._gdgcf ,_cf );};};};};};};};func _ece (_dfgd *_ec .CT_TableCellProperties ,_dadd *_ec .CT_TableStyleCellStyle ,_eceb ,_gbbf ,_cdee ,_edff bool )*_ec .CT_TableCellProperties {_gead :=_ec .NewCT_TableCellProperties ();if _dfgd !=nil {*_gead =*_dfgd ;};if _dadd ==nil {return _gead ;};if _bbbe :=_dadd .FillRef ;_bbbe !=nil {_ebcb :=_ec .NewCT_SolidColorFillProperties ();_ebcb .ScrgbClr =_bbbe .ScrgbClr ;_ebcb .SrgbClr =_bbbe .SrgbClr ;_ebcb .HslClr =_bbbe .HslClr ;_ebcb .SysClr =_bbbe .SysClr ;_ebcb .SchemeClr =_bbbe .SchemeClr ;_ebcb .PrstClr =_bbbe .PrstClr ;_gead .SolidFill =_ebcb ;};if _gead .NoFill ==nil &&_gead .SolidFill ==nil {if _dcea :=_dadd .Fill ;_dcea !=nil {if _gead .NoFill ==nil {_gead .NoFill =_dcea .NoFill ;};if _gead .SolidFill ==nil {_gead .SolidFill =_dcea .SolidFill ;};};};if _fbd :=_dadd .TcBdr ;_fbd !=nil {if _gead .LnL ==nil {var _dabe *_ec .CT_ThemeableLineStyle ;if _cdee {_dabe =_fbd .Left ;}else {_dabe =_fbd .InsideV ;};if _dabe !=nil {_gead .LnL =_dabe .Ln ;};};if _gead .LnR ==nil {var _dgfb *_ec .CT_ThemeableLineStyle ;if _edff {_dgfb =_fbd .Right ;}else {_dgfb =_fbd .InsideV ;};if _dgfb !=nil {_gead .LnR =_dgfb .Ln ;};};if _gead .LnT ==nil {var _ggea *_ec .CT_ThemeableLineStyle ;if _eceb {_ggea =_fbd .Top ;}else {_ggea =_fbd .InsideH ;};if _ggea !=nil {_gead .LnT =_ggea .Ln ;};};if _gead .LnB ==nil {var _eca *_ec .CT_ThemeableLineStyle ;if _gbbf {_eca =_fbd .Bottom ;}else {_eca =_fbd .InsideH ;};if _eca !=nil {_gead .LnB =_eca .Ln ;};};};return _gead ;};func (_edcf *textboxContext )alignParagraphsVertically (_dgbd _ec .ST_TextAnchoringType ){if _dgbd ==_ec .ST_TextAnchoringTypeT {return ;};_ffgc :=0.0;for _ ,_cgf :=range _edcf ._eag {_ffgc +=_cgf ._cca +_cgf ._bgaa +_cgf ._cab ;};var _gdff float64 ;switch _dgbd {case _ec .ST_TextAnchoringTypeCtr :_gdff =(_edcf ._caca -_ffgc )/2;case _ec .ST_TextAnchoringTypeB :_gdff =_edcf ._caca -_ffgc ;};for _ ,_gag :=range _edcf ._eag {_gag ._edag +=_gdff ;};};var _gded =[]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 (_gga *textboxContext )newLine (){if _gga ._fda ==nil {_gga .newParagraph ();};_egae :=_gga ._fda ._bgaa +_gga ._fda ._cca ;_baae :=&line {};_baae ._cfeb =_gga ._fda ._egaf ;if len (_gga ._fda ._efdf )==0{_baae ._cfeb +=_gga ._fda ._ecbb ;};_baae ._ceb =_gga ._fda ._edea ;_baae ._baca =_baae ._cfeb ;_baae ._ccgb =_egae ;_gga ._fda ._efdf =append (_gga ._fda ._efdf ,_baae );_gga ._caf =_baae ;};func _fdcd (_dbec int ,_aeac bool )string {_ccgf :=(_dbec -1)/26+1;_ebcc :=byte ((_dbec -1)%26);if _aeac {_ebcc +=byte (65);}else {_ebcc +=byte (97);};_dgcb :=_fe .NewBuffer ([]byte {});for _fgbg :=0;_fgbg < _ccgf ;_fgbg ++{_dgcb .Write ([]byte {_ebcc });};return _dgcb .String ();};type background struct{_cded _gg .Color ;_bbb float64 ;_ccaa *_ec .CT_BlipFillProperties ;};func (_ddde *convertContext )getColorFromSolidFill (_abfcb *_ec .CT_SolidColorFillProperties )(_gg .Color ,float64 ){if _abfcb ==nil {return nil ,1;};var _gae string ;_fgeg :=1.0;if _cedd :=_abfcb .SrgbClr ;_cedd !=nil {_gae =_cedd .ValAttr ;_fgeg =_cef .GetOpacityFromColorTransform (_cedd .EG_ColorTransform );}else if _cada :=_abfcb .SchemeClr ;_cada !=nil {_gae =_cef .GetColorStringFromDmlColor (_ddde ._gfcc .GetColorBySchemeColor (_cada .ValAttr ));_gae =_cef .AdjustColor (_gae ,_cada .EG_ColorTransform );_fgeg =_cef .GetOpacityFromColorTransform (_cada .EG_ColorTransform );};if _gae !=""{_gfb :=_gg .ColorRGBFromHex ("\u0023"+_gae );return _gfb ,_fgeg ;};return nil ,1;};
// ConvertToPdf converts a presentation to a PDF file. This package is beta, breaking changes can take place.
func ConvertToPdf (pr *_g .Presentation )*_gg .Creator {_fg :=pr .X ().SldSz ;_fc :=_e .FromEMU (int64 (_fg .CxAttr ));_fd :=_e .FromEMU (int64 (_fg .CyAttr ));_cee :=_gg .PageSize {_fc ,_fd };_eccf :=_gg .New ();_eccf .SetPageSize (_cee );var _fae *_ec .Theme ;if len (pr .Themes ())> 0{_fae =pr .Themes ()[0];};for _ ,_ed :=range pr .Slides (){if _ed .X ()==nil {continue ;};_bf :=&convertContext {_ddgf :_eccf ,_gfcc :&_ed ,_dbf :_ed .GetSlideLayout (),_bbaa :pr .SlideMasters ()[0].X (),_egg :pr ,_agbd :_fae ,_gbfg :_ed .X ().ClrMapOvr ,_agcg :_cee [1],_cdb :_cee [0]};_bf ._dbf =_ed .GetSlideLayout ();_bf .extractDefaultProperties ();_bf .makeSlide ();_bf .drawSlide ();};return _eccf ;};