mirror of
https://github.com/unidoc/unioffice.git
synced 2025-04-25 13:48:53 +08:00
12 lines
41 KiB
Go
12 lines
41 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 convertutils ;import (_ga "bytes";_gd "errors";_d "fmt";_fe "github.com/unidoc/unioffice/common/logger";_cf "github.com/unidoc/unioffice/measurement";_ee "github.com/unidoc/unioffice/schema/soo/dml";_dg "github.com/unidoc/unioffice/schema/soo/dml/chart";_eb "github.com/unidoc/unioffice/spreadsheet/format";_cc "github.com/unidoc/unipdf/v3/creator";_cfb "github.com/unidoc/unipdf/v3/model";_ccd "github.com/unidoc/unipdf/v3/render";_bd "github.com/unidoc/unitype";_gf "image";_g "math";_cg "os";_f "sort";_db "strconv";_a "strings";_e "sync";_c "unicode";);const (ImgPart_whole ImgPart =0;ImgPart_t ImgPart =1;ImgPart_b ImgPart =2;ImgPart_l ImgPart =3;ImgPart_r ImgPart =4;ImgPart_lt ImgPart =5;ImgPart_rt ImgPart =6;ImgPart_lb ImgPart =7;ImgPart_rb ImgPart =8;);func MakeImageFromChartSpace (cs *_dg .ChartSpace ,width ,height float64 ,theme *_ee .Theme )(_gf .Image ,error ){_cee ,_af :=_fbb (cs ,width ,height ,theme ,true );if _af !=nil {return nil ,_af ;};_cae ,_af :=GetPageFromCreator (_cee );if _af !=nil {return nil ,_af ;};return _ccd .NewImageDevice ().Render (_cae );};func _bag (_abbd *_dg .CT_ValAx )(uint32 ,_dg .ST_AxPos ,_dg .ST_TickMark ,_dg .ST_TickLblPos ,*_dg .CT_ChartLines ,uint32 ,*_ee .CT_ShapeProperties ,error ){var _febge ,_bgca uint32 ;var _accd _dg .ST_AxPos ;var _bac _dg .ST_TickMark ;var _gcfc *_dg .CT_ChartLines ;var _ddgf _dg .ST_TickLblPos ;if _abbd .AxId ==nil {return _febge ,_accd ,_bac ,_ddgf ,_gcfc ,_bgca ,_abbd .SpPr ,_gd .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_febge =_abbd .AxId .ValAttr ;};if _abbd .AxPos ==nil {return _febge ,_accd ,_bac ,_ddgf ,_gcfc ,_bgca ,_abbd .SpPr ,_gd .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_accd =_abbd .AxPos .ValAttr ;};if _abbd .MajorTickMark !=nil {_bac =_abbd .MajorTickMark .ValAttr ;};if _abbd .TickLblPos !=nil {_ddgf =_abbd .TickLblPos .ValAttr ;};if _abbd .CrossAx ==nil {return _febge ,_accd ,_bac ,_ddgf ,_gcfc ,_bgca ,_abbd .SpPr ,_gd .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bgca =_abbd .CrossAx .ValAttr ;};_gcfc =_abbd .MajorGridlines ;return _febge ,_accd ,_bac ,_ddgf ,_gcfc ,_bgca ,_abbd .SpPr ,nil ;};func _dceb (_cbegf uint8 ,_fga float64 )string {_abga :=float64 (_cbegf );return _d .Sprintf ("\u0025\u0030\u0032\u0078",int (_abga *_fga ));};var _bcgd =_eaaf (1.5);func (_bca *Rectangle )scale (_cebg float64 ){_bca .Top *=_cebg ;_bca .Bottom *=_cebg ;_bca .Left *=_cebg ;_bca .Right *=_cebg ;};type serCategory struct{_fab string ;_bfb []serValue ;};var _febg =_eaaf (5);func (_ccbc *creatorContext )getPdfColorFromSolidFill (_bdfa *_ee .CT_SolidColorFillProperties )_cc .Color {if _bdfa ==nil {return nil ;};_bebb :="";if _dbcc :=_bdfa .SrgbClr ;_dbcc !=nil {_bebb =_dbcc .ValAttr ;}else if _ffgf :=_bdfa .SchemeClr ;_ffgf !=nil {_bebb =_abed (_ffgf .ValAttr ,_ccbc ._deb );};if _bebb ==""{return nil ;};return _cc .ColorRGBFromHex ("\u0023"+_bebb );};func MakeBlockFromChartSpace (cs *_dg .ChartSpace ,width ,height float64 ,theme *_ee .Theme )(*_cc .Block ,error ){_acg ,_egd :=_fbb (cs ,width ,height ,theme ,false );if _egd !=nil {return nil ,_egd ;};_fgc ,_egd :=GetPageFromCreator (_acg );if _egd !=nil {return nil ,_egd ;};_gfdg ,_egd :=_cc .NewBlockFromPage (_fgc );if _egd !=nil {return nil ,_egd ;};return _gfdg ,nil ;};func GetColorStringFromDmlColor (dmlColor *_ee .CT_Color )string {var _acad string ;if _bff :=dmlColor .SrgbClr ;_bff !=nil {_acad =_bff .ValAttr ;}else if _aeca :=dmlColor .SysClr ;_aeca !=nil {return "\u0030\u0030\u0030\u0030\u0030\u0030";};return _acad ;};type barSerByOrder []*_dg .CT_BarSer ;func _afag (_afb ,_degf ,_egbb float64 )(uint8 ,uint8 ,uint8 ){var _gfg float64 ;if _egbb < 0.5{_gfg =_egbb *(1+_degf );}else {_gfg =_egbb +_degf -_egbb *_degf ;};_eedd :=_egbb *2-_gfg ;_afb /=360.0;_eda :=_gga (_afb +1.0/3.0);_gbda :=_gga (_afb );_cdde :=_gga (_afb -1.0/3.0);_edaa :=_dfe (_eda ,_gfg ,_eedd );_dcbg :=_dfe (_gbda ,_gfg ,_eedd );_dadb :=_dfe (_cdde ,_gfg ,_eedd );return uint8 (255*_edaa ),uint8 (255*_dcbg ),uint8 (255*_dadb );};func _fbb (_cga *_dg .ChartSpace ,_aca ,_ada float64 ,_gg *_ee .Theme ,_accc bool )(*_cc .Creator ,error ){_fdd :=1.0;if _accc {_fdd =8.0;};_bga :=&Rectangle {};_bce :=&Rectangle {Top :_bga .Top ,Bottom :_ada -_bga .Bottom ,Left :_bga .Left ,Right :_aca -_bga .Right };_dgb :=MakeTempCreator (_aca *_fdd +1,_ada *_fdd +1);_feaa :=&creatorContext {_abgd :_dgb ,_deb :_gg ,_efa :_fdd };var _feb bool ;if _cac :=_cga .Chart ;_cac !=nil {_aaa :=_cac .PlotArea ;if _aaa ==nil {return nil ,_gd .New ("\u004e\u006f\u0020p\u006c\u006f\u0074\u0020\u0061\u0072\u0065\u0061");};_df :=&Rectangle {Top :_eaaf (10),Bottom :_bce .Bottom -_eaaf (15),Left :_eaaf (10),Right :_bce .Right -_eaaf (10)};var _egb *Rectangle ;_egg :=_cac .Legend ;if _egg !=nil {_ag :=_egg .Overlay !=nil &&_egg .Overlay .ValAttr !=nil &&*_egg .Overlay .ValAttr ;if _fddb :=_egg .LegendPos ;_fddb !=nil {switch _fddb .ValAttr {case _dg .ST_LegendPosTr :if !_ag {_df =&Rectangle {Top :_eaaf (25),Bottom :_bce .Bottom -_eaaf (10),Left :_eaaf (10),Right :_bce .Right -_eaaf (25)};};_egb =&Rectangle {Top :_eaaf (2.5),Bottom :_eaaf (22.5),Left :_bce .Right -_eaaf (22.5),Right :_bce .Right -_eaaf (2.5)};case _dg .ST_LegendPosT :_egb =&Rectangle {Top :_eaaf (2.5),Bottom :_eaaf (7.5),Left :(_bce .Right -_bce .Left )*0.25,Right :(_bce .Right -_bce .Left )*0.75};if !_ag {_df =&Rectangle {Top :_eaaf (12.5),Bottom :_bce .Bottom -_eaaf (15),Left :_eaaf (10),Right :_bce .Right -_eaaf (5)};};_feb =true ;case _dg .ST_LegendPosB :_egb =&Rectangle {Top :_bce .Bottom -_eaaf (7.5),Bottom :_bce .Bottom -_eaaf (2.5),Left :(_bce .Right -_bce .Left )*0.25,Right :(_bce .Right -_bce .Left )*0.75};if !_ag {_df =&Rectangle {Top :_eaaf (5),Bottom :_bce .Bottom -_eaaf (15),Left :_eaaf (10),Right :_bce .Right -_eaaf (5)};};_feb =true ;case _dg .ST_LegendPosR :_egb =&Rectangle {Top :(_bce .Bottom -_bce .Top )/2-_eaaf (10),Bottom :(_bce .Bottom -_bce .Top )/2+_eaaf (10),Left :_bce .Right -_eaaf (22.5),Right :_bce .Right -_eaaf (2.5)};if !_ag {_df =&Rectangle {Top :_eaaf (5),Bottom :_bce .Bottom -_eaaf (12.5),Left :_eaaf (10),Right :_bce .Right -_eaaf (25)};};case _dg .ST_LegendPosL :_egb =&Rectangle {Top :(_bce .Bottom -_bce .Top )/2-_eaaf (10),Bottom :(_bce .Bottom -_bce .Top )/2+_eaaf (10),Left :_eaaf (2.5),Right :_eaaf (22.5)};if !_ag {_df =&Rectangle {Top :_eaaf (5),Bottom :_bce .Bottom -_eaaf (12.5),Left :_eaaf (30),Right :_bce .Right -_eaaf (5)};};default:_egb =&Rectangle {Top :(_bce .Bottom -_bce .Top )/2-_eaaf (10),Bottom :(_bce .Bottom -_bce .Top )/2+_eaaf (10),Left :_bce .Right -_eaaf (25),Right :_bce .Right -_eaaf (5)};if !_ag {_df =&Rectangle {Top :_eaaf (5),Bottom :_bce .Bottom -_eaaf (12.5),Left :_eaaf (100),Right :_bce .Right -_eaaf (25)};};};};};_df .scale (_fdd );_feaa .drawBorderWithProps (_aaa .SpPr ,_df ,_fde );_eff :=[]*legendItem {};var _cde error ;_fbd :=_aaa .CChoice ;for _ ,_aff :=range _aaa .Choice {if _ffg :=_aff .BarChart ;_ffg !=nil {_eff ,_cde =_feaa .drawBarChart (_ffg ,_df ,_fbd );if _cde !=nil {return nil ,_cde ;};};};if _egg !=nil {_egb .scale (_fdd );_feaa .drawBorderWithProps (_egg .SpPr ,_egb ,_fde );if len (_eff )!=0{_feaa .drawLegend (_egb ,_eff ,_feb );};};};_bce .scale (_fdd );_feaa .drawBorderWithProps (_cga .SpPr ,_bce ,_fde );return _dgb ,nil ;};func _aacg (_egdd *_dg .CT_CatAx )(uint32 ,_dg .ST_AxPos ,_dg .ST_TickMark ,_dg .ST_TickLblPos ,*_dg .CT_ChartLines ,uint32 ,*_ee .CT_ShapeProperties ,error ){var _agfa ,_bfaa uint32 ;var _eed _dg .ST_AxPos ;var _bgaa _dg .ST_TickMark ;var _bdg *_dg .CT_ChartLines ;var _aec _dg .ST_TickLblPos ;if _egdd .AxId ==nil {return _agfa ,_eed ,_bgaa ,_aec ,_bdg ,_bfaa ,_egdd .SpPr ,_gd .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_agfa =_egdd .AxId .ValAttr ;};if _egdd .AxPos ==nil {return _agfa ,_eed ,_bgaa ,_aec ,_bdg ,_bfaa ,_egdd .SpPr ,_gd .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_eed =_egdd .AxPos .ValAttr ;};if _egdd .MajorTickMark !=nil {_bgaa =_egdd .MajorTickMark .ValAttr ;};if _egdd .TickLblPos !=nil {_aec =_egdd .TickLblPos .ValAttr ;};if _egdd .CrossAx ==nil {return _agfa ,_eed ,_bgaa ,_aec ,_bdg ,_bfaa ,_egdd .SpPr ,_gd .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bfaa =_egdd .CrossAx .ValAttr ;};_bdg =_egdd .MajorGridlines ;return _agfa ,_eed ,_bgaa ,_aec ,_bdg ,_bfaa ,_egdd .SpPr ,nil ;};func AssignStdFontByName (style _cc .TextStyle ,fontName string )*_cfb .PdfFont {_ddgg :=_cfb .StdFontName (fontName );return _cfb .NewStandard14FontMustCompile (_ddgg );};func (_ed barSerByOrder )Less (i ,j int )bool {return _ed [i ].Order .ValAttr < _ed [j ].Order .ValAttr };func (_gdc *creatorContext )drawAxes (_cec *_dg .CT_PlotAreaChoice1 ,_gbe ,_dbf ,_egdb float64 ,_faf []string ,_bfbd *Rectangle ,_abc bool )error {_fcb :=_gdc ._abgd ;_ddg :=_gdc ._efa ;if _cec ==nil {return _gd .New ("\u004e\u006f\u0020\u0061xi\u0073\u0020\u0069\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e");};if len (_cec .ValAx )==0||(len (_cec .CatAx )==0&&len (_cec .DateAx )==0&&len (_cec .SerAx )==0){return _gd .New ("\u004e\u006f\u0020\u0078\u0020\u006f\u0072\u0020\u0079 \u0061\u0078\u0069\u0073");};var _faff ,_dfc ,_dcb ,_fff uint32 ;var _cbc ,_dgc _dg .ST_AxPos ;var _gdf ,_eecd _dg .ST_TickMark ;var _dggc ,_ccee *_dg .CT_ChartLines ;var _dafd ,_cdag _dg .ST_TickLblPos ;var _ead ,_fbbe *_ee .CT_ShapeProperties ;var _faad error ;_aacd :=_bfbd .Right -_bfbd .Left ;_gfbf :=_bfbd .Bottom -_bfbd .Top ;if len (_cec .ValAx )> 0{_dfc ,_dgc ,_eecd ,_cdag ,_ccee ,_fff ,_fbbe ,_faad =_bag (_cec .ValAx [0]);};if _dgc !=_dg .ST_AxPosL &&_dgc !=_dg .ST_AxPosB {return _gd .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0079\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072");};_ffgd :=_dbf -_gbe ;_fdc :=int (_ffgd /_egdb )+1;var _gfc ,_dacf float64 ;switch _eecd {case _dg .ST_TickMarkIn :_gfc ,_dacf =_bgc ,0;case _dg .ST_TickMarkOut :_gfc ,_dacf =0,_bgc ;case _dg .ST_TickMarkCross :_gfc ,_dacf =_bgc ,_bgc ;};_gfc =_gfc *_ddg ;_dacf =_dacf *_ddg ;var _gdfe *_ee .CT_ShapeProperties ;if _ccee !=nil {_gdfe =_ccee .SpPr ;};_aacb ,_ddad :=_dafd !=_dg .ST_TickLblPosNone ,_cdag !=_dg .ST_TickLblPosNone ;_dbfc :=_gbe ;if len (_cec .CatAx )> 0{_faff ,_cbc ,_gdf ,_dafd ,_dggc ,_dcb ,_ead ,_faad =_aacg (_cec .CatAx [0]);}else if len (_cec .DateAx )> 0{_faff ,_cbc ,_gdf ,_dafd ,_dggc ,_dcb ,_ead ,_faad =_cff (_cec .DateAx [0]);}else if len (_cec .SerAx )> 0{_faff ,_cbc ,_gdf ,_dafd ,_dggc ,_dcb ,_ead ,_faad =_eba (_cec .SerAx [0]);};if _faad !=nil {return _faad ;};if _cbc !=_dg .ST_AxPosL &&_cbc !=_dg .ST_AxPosB {return _gd .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0078\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072");};if _faff !=_fff ||_dfc !=_dcb {return _gd .New ("a\u0078i\u0073\u0020\u0069\u0064\u0073\u0020\u0064\u006fn\u0027\u0074\u0020\u006dat\u0063\u0068");};_fcag :=len (_faf )+1;var _cfg ,_fee float64 ;switch _gdf {case _dg .ST_TickMarkIn :_cfg ,_fee =_bgc ,0;case _dg .ST_TickMarkOut :_cfg ,_fee =0,_bgc ;case _dg .ST_TickMarkCross :_cfg ,_fee =_bgc ,_bgc ;};_cfg =_cfg *_ddg ;_fee =_fee *_ddg ;var _cdc *_ee .CT_ShapeProperties ;if _dggc !=nil {_cdc =_dggc .SpPr ;};if _abc {_dfg :=_gfbf /float64 (len (_faf ));_ggg :=_bfbd .Left -_gbe *_aacd /_ffgd ;_dbfg :=_ggg -_bdfb *_ddg ;if _aacb {var _fag float64 ;for _afd :=0;_afd < _fcag ;_afd ++{_egfg :=_bfbd .Bottom -float64 (_afd )*_dfg ;if _afd < _fcag -1{_ddf :=_fcb .NewParagraph (_faf [_afd ]);_ddf .SetFontSize (_bfde *_ddg );_ddf .SetPos (_dbfg ,_egfg -_dfg /2-_bcgd *_ddg );_fcb .Draw (_ddf );_cbb :=(_ddf .Width ()/1000-_bdfb )*_ddg ;if _cbb > 0&&_cbb > _fag {_fag =_cbb ;};};};if _fag > 0{_bfbd .Left +=_fag +_eab ;_ggg =_bfbd .Left -_gbe *_aacd /_ffgd ;_aacd =_bfbd .Right -_bfbd .Left ;};};_bfa :=_ggg -_fee ;_cbbe :=_ggg +_cfg ;_dafdf :=_bfbd .Left ;_gcf :=_bfbd .Right ;for _fcbg :=0;_fcbg < _fcag ;_fcbg ++{_cgag :=_bfbd .Bottom -float64 (_fcbg )*_dfg ;_gdc .drawLineWithProps (_ead ,_bfa ,_cgag ,_cbbe ,_cgag ,true );_gdc .drawLineWithProps (_cdc ,_dafdf ,_cgag ,_gcf ,_cgag ,true );};_dcg :=_aacd /_ffgd ;_abg :=_bfbd .Bottom -_gfc ;_bfdeb :=_bfbd .Bottom +_dacf ;_ebe :=_bfbd .Top ;_def :=_bfbd .Bottom ;for _bdea :=0;_bdea < _fdc ;_bdea ++{_cgab :=_bfbd .Left +(_dbfc -_gbe )*_dcg ;_gdc .drawLineWithProps (_fbbe ,_cgab ,_abg ,_cgab ,_bfdeb ,true );_gdc .drawLineWithProps (_gdfe ,_cgab ,_ebe ,_cgab ,_def ,true );if _ddad {_cbbd :=_fcb .NewParagraph (_db .FormatFloat (_dbfc ,'g',-1,64));_cbbd .SetFontSize (_bfde *_ddg );_cbbd .SetPos (_cgab -_bde *_ddg ,_def +_aed *_ddg );_fcb .Draw (_cbbd );};_dbfc +=_egdb ;};}else {_ffe :=_gfbf /_ffgd ;_dgd :=_bfbd .Left ;if _ddad {var _dbac float64 ;for _efd :=0;_efd < _fdc ;_efd ++{_ec :=_bfbd .Bottom -(_dbfc -_gbe )*_ffe ;_fddg :=_fcb .NewParagraph (_db .FormatFloat (_dbfc ,'g',-1,64));_fddg .SetFontSize (_bfde *_ddg );_fddg .SetPos (_dgd -_bdfb *_ddg ,_ec -_bcgd *_ddg );_fcb .Draw (_fddg );_cfc :=(_fddg .Width ()/1000-_bdfb )*_ddg ;if _cfc > 0&&_cfc > _dbac {_dbac =_cfc ;};_dbfc +=_egdb ;};if _dbac > 0{_bfbd .Left +=_dbac +_eab ;_aacd =_bfbd .Right -_bfbd .Left ;};};_dbfc =_gbe ;_ceg :=_bfbd .Left -_dacf ;_ddd :=_bfbd .Left +_gfc ;_dgd =_bfbd .Left ;_cad :=_bfbd .Right ;for _cdd :=0;_cdd < _fdc ;_cdd ++{_caa :=_bfbd .Bottom -(_dbfc -_gbe )*_ffe ;_gdc .drawLineWithProps (_fbbe ,_ceg ,_caa ,_ddd ,_caa ,true );_gdc .drawLineWithProps (_gdfe ,_dgd ,_caa ,_cad ,_caa ,true );_dbfc +=_egdb ;};_bcgdg :=_aacd /float64 (len (_faf ));_gacb :=_bfbd .Bottom +_gbe *_gfbf /_ffgd ;_bbg :=_gacb -_cfg ;_ggc :=_gacb +_fee ;_fedg :=_bfbd .Top ;_feea :=_bfbd .Bottom ;_gdfc :=_gacb +_aed *_ddg ;for _egda :=0;_egda < _fcag ;_egda ++{_dgcc :=_bfbd .Left +float64 (_egda )*_bcgdg ;_gdc .drawLineWithProps (_ead ,_dgcc ,_bbg ,_dgcc ,_ggc ,true );_gdc .drawLineWithProps (_cdc ,_dgcc ,_fedg ,_dgcc ,_feea ,true );if _aacb &&_egda < _fcag -1{_gbdg :=_fcb .NewParagraph (_faf [_egda ]);_gbdg .SetFontSize (_bfde *_ddg );_gbdg .SetPos (_dgcc +_febg *_ddg ,_gdfc );_fcb .Draw (_gbdg );};};};return nil ;};func _bfbb (_fcagb _ee .ST_SchemeColorVal ,_bbb *_ee .Theme )string {if _gdd :=_bbb .ThemeElements ;_gdd !=nil {if _afa :=_gdd .ClrScheme ;_afa !=nil {switch _fcagb {case _ee .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_afa .Lt1 );case _ee .ST_SchemeColorValDk1 ,_ee .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_afa .Dk1 );case _ee .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_afa .Lt2 );case _ee .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_afa .Dk2 );case _ee .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_afa .Accent1 );case _ee .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_afa .Accent2 );case _ee .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_afa .Accent3 );case _ee .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_afa .Accent4 );case _ee .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_afa .Accent5 );case _ee .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_afa .Accent6 );};};};return "";};func (_gbf barSerByOrder )Len ()int {return len (_gbf )};func _gga (_dcbf float64 )float64 {if _dcbf < 0{_dcbf +=float64 (-int (_dcbf )+1);}else if _dcbf > 1{_dcbf -=float64 (int (_dcbf ));};return _dcbf ;};func FromSTPercentage (st *_ee .ST_Percentage )float64 {if _ecf :=st .ST_PercentageDecimal ;_ecf !=nil {return float64 (*_ecf )/100000;};return 0;};func (_gbac *creatorContext )drawRectangleWithProps (_dade *_ee .CT_ShapeProperties ,_aag ,_dceg ,_eca ,_bfe float64 ,_eaeeb bool ){_eaa :=_gbac ._abgd .NewRectangle (_aag ,_dceg ,_eca ,_bfe );if _dade ==nil {if _eaeeb {_eaa .SetBorderWidth (_fde );}else {return ;};}else {_ggf :=_gbac .getPdfColorFromSolidFill (_dade .SolidFill );if _ggf !=nil {_eaa .SetFillColor (_ggf );};if _ffb :=_dade .Ln ;_ffb !=nil {if _bcga :=_ffb .WAttr ;_bcga !=nil {_geg :=_cf .FromEMU (int64 (*_bcga ));_eaa .SetBorderWidth (_geg );if _dfae :=_ffb .SolidFill ;_dfae !=nil {_daff :=_gbac .getPdfColorFromSolidFill (_dfae );if _daff !=nil {_eaa .SetBorderColor (_daff );};};}else {_eaa .SetBorderWidth (0);};};};_gbac ._abgd .Draw (_eaa );};func AdjustColorByTint (colorStr string ,tint float64 )string {var _bab ,_eedb ,_dde uint8 ;_caac ,_ :=_d .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_bab ,&_eedb ,&_dde );if _caac !=3{return "";};return _efg (_bab ,tint )+_efg (_eedb ,tint )+_efg (_dde ,tint );};var _cge =_eaaf (1.5);func MakeBlockFromCreator (c *_cc .Creator )(*_cc .Block ,error ){_edab ,_dcff :=GetPageFromCreator (c );if _dcff !=nil {return nil ,_dcff ;};_gfgd ,_dcff :=_cc .NewBlockFromPage (_edab );if _dcff !=nil {return nil ,_dcff ;};return _gfgd ,nil ;};func AdjustColorByShade (colorStr string ,shade float64 )string {var _cdb ,_ddgcg ,_gbg uint8 ;_gdg ,_ :=_d .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_cdb ,&_ddgcg ,&_gbg );if _gdg !=3{return "";};return _dceb (_cdb ,shade )+_dceb (_ddgcg ,shade )+_dceb (_gbg ,shade );};var _aed =_eaaf (1.5);var _eab =_eaaf (2);func _eaaf (_ebaa float64 )float64 {return _ebaa *_cf .Millimeter };func GetPageFromCreator (c *_cc .Creator )(*_cfb .PdfPage ,error ){_dgff :=_ga .NewBuffer ([]byte {});_cab :=c .Write (_dgff );if _cab !=nil {return nil ,_cab ;};_bdge :=_ga .NewReader (_dgff .Bytes ());_bafb ,_cab :=_cfb .NewPdfReader (_bdge );if _cab !=nil {return nil ,_cab ;};return _bafb .GetPage (1);};func (_bfbbf *creatorContext )drawLineWithProps (_aaag *_ee .CT_ShapeProperties ,_geb ,_dge ,_ccfd ,_adbb float64 ,_fbdf bool ){if _aaag !=nil {if _gebg :=_aaag .Ln ;_gebg !=nil {_gab :=_bfbbf .getPdfColorFromSolidFill (_gebg .SolidFill );if _gab ==nil &&_fbdf {_gab =_cc .ColorBlack ;};if _gab !=nil {var _fgb float64 ;if _fbded :=_gebg .WAttr ;_fbded !=nil {_fgb =_cf .FromEMU (int64 (*_fbded ));}else {_fgb =_fde ;};DrawLine (_bfbbf ._abgd ,_geb ,_dge ,_ccfd ,_adbb ,_fgb ,_gab );};};};};func CropImageByRect (sourceImg _gf .Image ,rect _gf .Rectangle )_gf .Image {_cbae ,_adgg ,_deba ,_ceae :=rect .Min .X ,rect .Min .Y ,rect .Max .X ,rect .Max .Y ;_dfec :=_gf .NewNRGBA (_gf .Rect (0,0,_deba -_cbae ,_ceae -_adgg ));for _ffc :=_cbae ;_ffc < _deba ;_ffc ++{for _gebe :=_adgg ;_gebe < _ceae ;_gebe ++{_dfec .Set (_ffc -_cbae ,_gebe -_adgg ,sourceImg .At (_ffc ,_gebe ));};};return _dfec ;};func _cff (_ebbf *_dg .CT_DateAx )(uint32 ,_dg .ST_AxPos ,_dg .ST_TickMark ,_dg .ST_TickLblPos ,*_dg .CT_ChartLines ,uint32 ,*_ee .CT_ShapeProperties ,error ){var _degg ,_aga uint32 ;var _eaf _dg .ST_AxPos ;var _bafe _dg .ST_TickMark ;var _cdcg *_dg .CT_ChartLines ;var _adae _dg .ST_TickLblPos ;if _ebbf .AxId ==nil {return _degg ,_eaf ,_bafe ,_adae ,_cdcg ,_aga ,_ebbf .SpPr ,_gd .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_degg =_ebbf .AxId .ValAttr ;};if _ebbf .AxPos ==nil {return _degg ,_eaf ,_bafe ,_adae ,_cdcg ,_aga ,_ebbf .SpPr ,_gd .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_eaf =_ebbf .AxPos .ValAttr ;};if _ebbf .MajorTickMark !=nil {_bafe =_ebbf .MajorTickMark .ValAttr ;};if _ebbf .TickLblPos !=nil {_adae =_ebbf .TickLblPos .ValAttr ;};if _ebbf .CrossAx ==nil {return _degg ,_eaf ,_bafe ,_adae ,_cdcg ,_aga ,_ebbf .SpPr ,_gd .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_aga =_ebbf .CrossAx .ValAttr ;};_cdcg =_ebbf .MajorGridlines ;return _degg ,_eaf ,_bafe ,_adae ,_cdcg ,_aga ,_ebbf .SpPr ,nil ;};type legendItem struct{_ff string ;_baf *_ee .CT_ShapeProperties ;};func _ecc (_aaf ,_caaa ,_egba uint8 )(float64 ,float64 ,float64 ){_bfbc ,_fac ,_gfdgc :=float64 (_aaf )/255,float64 (_caaa )/255,float64 (_egba )/255;_dcef :=_bfbc ;if _fac < _dcef {_dcef =_fac ;};if _gfdgc < _dcef {_dcef =_gfdgc ;};var _bced ,_gfbfg bool ;_fbc :=_bfbc ;if _fac > _fbc {_fbc =_fac ;_bced =true ;};if _gfdgc > _fbc {_fbc =_gfdgc ;_bced =false ;_gfbfg =true ;};_fcbge :=(_dcef +_fbc )/2;var _adb float64 ;if _dcef !=_fbc {if _fcbge <=0.5{_adb =(_fbc -_dcef )/(_fbc +_dcef );}else {_adb =(_fbc -_dcef )/(2.0-_fbc -_dcef );};};var _ccf float64 ;if _dcef !=_fbc {if _bced {_ccf =2.0+(_gfdgc -_bfbc )/(_fbc -_dcef );}else if _gfbfg {_ccf =4.0+(_bfbc -_fac )/(_fbc -_dcef );}else {_ccf =(_fac -_gfdgc )/(_fbc -_dcef );};_ccf *=60;if _ccf < 0{_ccf +=360;};};return _ccf ,_adb ,_fcbge ;};type BorderPosition byte ;func FromSTCoordinate32 (st _ee .ST_Coordinate32 )int64 {if _adfg :=st .ST_Coordinate32Unqualified ;_adfg !=nil {return int64 (*_adfg );};return 0;};func DrawLine (c *_cc .Creator ,x0 ,y0 ,x1 ,y1 ,width float64 ,color _cc .Color ){if color ==nil {return ;};_ffeg :=c .NewLine (x0 ,y0 ,x1 ,y1 );_ffeg .SetLineWidth (width );_ffeg .SetColor (color );c .Draw (_ffeg );};func MakeTempCreator (width ,height float64 )*_cc .Creator {_ccc :=_cc .New ();_ccc .SetPageSize (_cc .PageSize {width ,height });_ccc .SetPageMargins (0,0,0,0);return _ccc ;};func (_bdc barSerByOrder )Swap (i ,j int ){_bdc [i ],_bdc [j ]=_bdc [j ],_bdc [i ]};var _edf =map[string ]FontStyle {"\u0052e\u0067\u0075\u006c\u0061\u0072":FontStyle_Regular ,"\u0042\u006f\u006c\u0064":FontStyle_Bold ,"\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_Italic ,"B\u006f\u006c\u0064\u0020\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_BoldItalic };func _efg (_fdcf uint8 ,_feab float64 )string {_gcfb :=float64 (_fdcf );var _adf float64 ;if _feab < 0{_adf =_gcfb *(1+_feab );}else {_adf =_gcfb +(255-_gcfb )*_feab ;};return _d .Sprintf ("\u0025\u0030\u0032\u0078",int (_adf ));};var _dbb =fontsMap {_dafa :&_e .Mutex {},_gdcd :map[string ]map[FontStyle ]*_cfb .PdfFont {}};func AdjustColorByLumMod (colorStr string ,lum float64 )string {var _gcb ,_dfbg ,_bdad uint8 ;_dbfb ,_ :=_d .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_gcb ,&_dfbg ,&_bdad );if _dbfb !=3{return "";};_fbba ,_bdfe ,_gcea :=_ecc (_gcb ,_dfbg ,_bdad );_gcea =lum *_gcea ;_gcb ,_dfbg ,_bdad =_afag (_fbba ,_bdfe ,_gcea );return _d .Sprintf ("\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",_gcb ,_dfbg ,_bdad );};func (_fca *creatorContext )drawLegend (_ebb *Rectangle ,_ccb []*legendItem ,_bcd bool ){_gfb :=_fca ._efa ;_addf :=_eaaf (2.5)*_gfb ;_agf :=_cge *_gfb ;_fcae :=(_addf -_agf )/2;_cfag :=float64 (len (_ccb ));if _bcd {_fgca :=&Rectangle {Top :_ebb .Top +_eaaf (1)*_gfb ,Bottom :_ebb .Bottom -_eaaf (1)*_gfb ,Left :_ebb .Left +_eaaf (2.5)*_gfb ,Right :_ebb .Right -_eaaf (2.5)*_gfb };var _aac float64 ;if _cfag > 1{_aac =(_fgca .Right -_fgca .Left )/_cfag ;};_dfa :=_fgca .Left ;_egf :=_fgca .Top ;for _ ,_adea :=range _ccb {if _dbgb :=_adea ._baf ;_dbgb !=nil {_fca .drawRectangleWithProps (_dbgb ,_dfa ,_egf +_fcae ,_agf ,_agf ,false );_dda :=_dfa +_agf *2;_bfd :=_fca ._abgd .NewStyledParagraph ();_bfd .SetPos (_dda ,_egf );_dbddf :=_bfd .Append (_adea ._ff );_bda ,_dfb :=_cfb .NewStandard14Font (_cfb .HelveticaName );if _dfb ==nil {_dbddf .Style =_cc .TextStyle {FontSize :_addf ,Font :_bda ,TextRise :0.4};_fca ._abgd .Draw (_bfd );};};_dfa +=_aac ;};}else {_cce :=&Rectangle {Top :_ebb .Top +_eaaf (2.5)*_gfb ,Bottom :_ebb .Bottom -_eaaf (2.5)*_gfb ,Left :_ebb .Left +_eaaf (2.5)*_gfb ,Right :_ebb .Right -_eaaf (2.5)*_gfb };var _eacf float64 ;if _cfag > 1{_eacf =(_cce .Bottom -_cce .Top -_addf )/(_cfag -1);};_cfbd :=_cce .Top ;_caea :=_cce .Left ;_fcg :=_caea +_agf *2;for _ ,_fgf :=range _ccb {if _acf :=_fgf ._baf ;_acf !=nil {_fca .drawRectangleWithProps (_acf ,_caea ,_cfbd +_fcae ,_agf ,_agf ,false );_gba :=_fca ._abgd .NewStyledParagraph ();_gba .SetPos (_fcg ,_cfbd );_dce :=_gba .Append (_fgf ._ff );_dad ,_eaeea :=_cfb .NewStandard14Font (_cfb .HelveticaName );if _eaeea ==nil {_dce .Style =_cc .TextStyle {FontSize :_addf ,Font :_dad ,TextRise :0.4};_fca ._abgd .Draw (_gba );};};_cfbd +=_eacf ;};};};type fontsMap struct{_dafa *_e .Mutex ;_gdcd map[string ]map[FontStyle ]*_cfb .PdfFont ;};func (_efc *Rectangle )Translate (x ,y float64 ){_efc .Left +=x ;_efc .Right +=x ;_efc .Top +=y ;_efc .Bottom +=y ;};func (_bg *creatorContext )drawBarChart (_ea *_dg .CT_BarChart ,_fg *Rectangle ,_fa *_dg .CT_PlotAreaChoice1 )([]*legendItem ,error ){var _ca bool ;if _da :=_ea .BarDir ;_da !=nil {_ca =_da .ValAttr ==_dg .ST_BarDirBar ;};_ac :=_ea .Ser ;_f .Sort (barSerByOrder (_ac ));_ad :=map[string ]serCategory {};_gfd :=[]string {};_ebg :=[]*legendItem {};_de :=_g .Inf (1);_gac :=_g .Inf (-1);for _ ,_eae :=range _ac {var _gb string ;if _cb :=_eae .Tx ;_cb !=nil {if _eeb :=_cb .Choice ;_eeb !=nil {if _eeb .V !=nil {_gb =*_eeb .V ;}else if _cd :=_eeb .StrRef ;_cd !=nil {if _bc :=_cd .StrCache ;_bc !=nil {for _ ,_ae :=range _bc .Pt {_gb =_ae .V ;};};};};};if _bdb :=_eae .Cat ;_bdb !=nil {if _fgg :=_bdb .Choice ;_fgg !=nil {if _dc :=_fgg .StrRef ;_dc !=nil {if _aef :=_dc .StrCache ;_aef !=nil {for _ ,_dbd :=range _aef .Pt {_aa :=_dbd .V ;if _ ,_dd :=_ad [_aa ];!_dd {_ad [_aa ]=serCategory {_fab :_aa ,_bfb :[]serValue {}};_gfd =append (_gfd ,_aa );};};};}else if _eg :=_fgg .NumRef ;_eg !=nil {if _bb :=_eg .NumCache ;_bb !=nil {var _dbc string ;if _bb .FormatCode !=nil {_dbc =*_bb .FormatCode ;};for _ ,_adg :=range _bb .Pt {var _ba string ;if _adg .FormatCodeAttr ==nil {_ba =_dbc ;}else {_ba =*_adg .FormatCodeAttr ;};var _bcf string ;_aeg ,_fba :=_db .ParseFloat (_adg .V ,64);if _fba !=nil {_bcf =_adg .V ;}else {_bcf =_eb .Number (_aeg ,_ba );};if _ ,_acc :=_ad [_bcf ];!_acc {_ad [_bcf ]=serCategory {_fab :_bcf ,_bfb :[]serValue {}};_gfd =append (_gfd ,_bcf );};};};};};};if _fea :=_eae .Val ;_fea !=nil {if _fed :=_fea .Choice ;_fed !=nil {if _ade :=_fed .NumRef ;_ade !=nil {if _bge :=_ade .NumCache ;_bge !=nil {for _cbe ,_fad :=range _bge .Pt {_fbf ,_be :=_db .ParseFloat (_fad .V ,64);if _be !=nil {_fbf =0;_fe .Log .Debug ("\u0070a\u0072s\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_be );};if _fbf > _gac {_gac =_fbf ;};if _fbf < _de {_de =_fbf ;};_bcg :=_ad [_gfd [_cbe ]];_bcg ._bfb =append (_bcg ._bfb ,serValue {_fec :_gb ,_dbg :_fbf ,_abb :_eae .SpPr });_ad [_gfd [_cbe ]]=_bcg ;};};};};};_ebg =append (_ebg ,&legendItem {_ff :_gb ,_baf :_eae .SpPr });};var _aeb float64 ;var _fd ,_bf float64 ;if _gac ==0&&_de ==0{_aeb =0.2;_bf =0;_fd =1;}else {var _bef float64 ;if _daf :=_g .Abs (_de );_gac < _daf {_bef =_daf ;}else {_bef =_gac ;};_ab :=_g .Pow (10,_g .Floor (_g .Log10 (_bef )));_bdf :=_bef /_ab ;if _bdf >=1.715&&_bdf < 4.29{_aeb =0.5;}else if _bdf >=4.29&&_bdf < 8.58{_aeb =1;}else {_aeb =2;};_aeb *=_ab ;if _gac <=0{_fd =0;}else {_fd =(_g .Ceil (_gac /_aeb )+1)*_aeb ;};if _de >=0{_bf =0;}else {_bf =(_g .Floor (_de /_aeb )-1)*_aeb ;};};_cbeg :=_bg .drawAxes (_fa ,_bf ,_fd ,_aeb ,_gfd ,_fg ,_ca );if _cbeg !=nil {return nil ,_cbeg ;};_eeg :=0.0;if _ea .GapWidth !=nil {if _fge :=_ea .GapWidth .ValAttr ;_fge !=nil {if _eag :=_fge .ST_GapAmountUShort ;_eag !=nil {_eeg =float64 (*_eag )/100.0;};};};_dgg :=_fg .Right -_fg .Left ;_aee :=_fg .Bottom -_fg .Top ;_fc :=float64 (len (_gfd ));if _ca {_dgge :=_fd /(_fd -_bf )*_dgg ;_ge :=-_bf /(_fd -_bf )*_dgg ;_dbdd :=_fg .Left +_ge ;_abe :=_aee /_fc ;for _fae ,_bgd :=range _gfd {_cfa :=_ad [_bgd ];_dgf :=float64 (len (_cfa ._bfb ))+_eeg ;_ce :=_abe /_dgf ;_add :=_ce *_eeg ;_deg :=_fg .Bottom -float64 (_fae )*_abe -_add /2-_ce ;for _ ,_eaee :=range _cfa ._bfb {if _eaee ._dbg ==0{continue ;};var _gce ,_cda float64 ;if _eaee ._dbg > 0{_cda =_eaee ._dbg /_fd *_dgge ;_bg .drawRectangleWithProps (_eaee ._abb ,_dbdd ,_deg ,_cda ,_ce ,false );}else {_cda =_eaee ._dbg /_bf *_ge ;_gce =_dbdd -_cda ;_bg .drawRectangleWithProps (_eaee ._abb ,_gce ,_deg ,_cda ,_ce ,false );};_deg -=_ce ;};};}else {_ebc :=_fd /(_fd -_bf )*_aee ;_dec :=-_bf /(_fd -_bf )*_aee ;_bgdc :=_fg .Top +_ebc ;_gad :=_dgg /_fc ;for _bdd ,_faa :=range _gfd {_dag :=_ad [_faa ];_gbd :=float64 (len (_dag ._bfb ))+_eeg ;_dba :=_gad /_gbd ;_ceb :=_dba *_eeg ;_gbc :=_fg .Left +float64 (_bdd )*_gad +_ceb /2;for _ ,_ef :=range _dag ._bfb {var _cdg ,_fdb float64 ;if _ef ._dbg > 0{_fdb =_ef ._dbg /_fd *_ebc ;_cdg =_bgdc -_fdb ;_bg .drawRectangleWithProps (_ef ._abb ,_gbc ,_cdg ,_dba ,_fdb ,false );}else {_fdb =_ef ._dbg /_bf *_dec ;_bg .drawRectangleWithProps (_ef ._abb ,_gbc ,_bgdc ,_dba ,_fdb ,false );};_gbc +=_dba ;};};};return _ebg ,nil ;};func FromSTCoordinate (st _ee .ST_Coordinate )int64 {if _ecaf :=st .ST_CoordinateUnqualified ;_ecaf !=nil {return *_ecaf ;};return 0;};type creatorContext struct{_abgd *_cc .Creator ;_deb *_ee .Theme ;_efa float64 ;};type FontStyle byte ;func RegisterFont (name string ,style FontStyle ,font *_cfb .PdfFont ){_dbb ._dafa .Lock ();if _dbb ._gdcd [name ]==nil {_dbb ._gdcd [name ]=map[FontStyle ]*_cfb .PdfFont {};};_dbb ._gdcd [name ][style ]=font ;_dbb ._dafa .Unlock ();};type serValue struct{_fec string ;_dbg float64 ;_abb *_ee .CT_ShapeProperties ;};func _abed (_cbd _ee .ST_SchemeColorVal ,_daa *_ee .Theme )string {if _cgc :=_daa .ThemeElements ;_cgc !=nil {if _cea :=_cgc .ClrScheme ;_cea !=nil {switch _cbd {case _ee .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_cea .Lt1 );case _ee .ST_SchemeColorValDk1 ,_ee .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_cea .Dk1 );case _ee .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_cea .Lt2 );case _ee .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_cea .Dk2 );case _ee .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_cea .Accent1 );case _ee .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_cea .Accent2 );case _ee .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_cea .Accent3 );case _ee .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_cea .Accent4 );case _ee .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_cea .Accent5 );case _ee .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_cea .Accent6 );};};};return "";};func DrawRectangle (c *_cc .Creator ,r *Rectangle ,w float64 ,color _cc .Color ){if color ==nil {return ;};DrawLine (c ,r .Left ,r .Top ,r .Right ,r .Top ,w ,color );DrawLine (c ,r .Left ,r .Top ,r .Left ,r .Bottom ,w ,color );DrawLine (c ,r .Left ,r .Bottom ,r .Right ,r .Bottom ,w ,color );DrawLine (c ,r .Right ,r .Top ,r .Right ,r .Bottom ,w ,color );};var _bdfb =_eaaf (7.5);func IsNoSpaceLanguage (symbol string )bool {for _ ,_cebe :=range symbol {if _c .Is (_c .Han ,_cebe ){return true ;};};return false ;};func GetRegisteredFont (name string ,style FontStyle )*_cfb .PdfFont {_dbb ._dafa .Lock ();defer _dbb ._dafa .Unlock ();if _dee ,_dae :=_dbb ._gdcd [name ];_dae {if _dff ,_ddge :=_dee [style ];_ddge {return _dff ;};};return nil ;};func GetImage (c *_cc .Creator ,goImg _gf .Image ,imgHeight ,imgWidth ,left ,top ,dividerX ,dividerY float64 ,part ImgPart )(*_cc .Image ,error ){if goImg ==nil {return nil ,nil ;};_bbf :=goImg .Bounds ().Size ();_bbcf :=_bbf .X ;_abee :=_bbf .Y ;if dividerX !=0{dividerX =dividerX /imgWidth *float64 (_bbcf );};if dividerY !=0{dividerY =dividerY /imgHeight *float64 (_abee );};var _gee _gf .Rectangle ;switch part {case ImgPart_t :_gee =_gf .Rect (0,0,_bbcf ,int (dividerY ));case ImgPart_b :_gee =_gf .Rect (0,int (dividerY ),_bbcf ,_abee );case ImgPart_l :_gee =_gf .Rect (0,0,int (dividerX ),_abee );case ImgPart_r :_gee =_gf .Rect (int (dividerX ),0,_bbcf ,_abee );case ImgPart_lt :_gee =_gf .Rect (0,0,int (dividerX ),int (dividerY ));case ImgPart_rt :_gee =_gf .Rect (int (dividerX ),0,_bbcf ,int (dividerY ));case ImgPart_lb :_gee =_gf .Rect (0,int (dividerY ),int (dividerX ),_abee );case ImgPart_rb :_gee =_gf .Rect (int (dividerX ),int (dividerY ),_bbcf ,_abee );default:_gee =_gf .Rect (0,0,_bbcf ,_abee );};_geba :=CropImageByRect (goImg ,_gee );_dged ,_ege :=c .NewImageFromGoImage (_geba );if _ege !=nil {return nil ,_ege ;};_dged .Scale (imgWidth /float64 (_bbcf ),imgHeight /float64 (_abee ));_dged .SetPos (left ,top );return _dged ,nil ;};const DefaultFontSize =12.0;var _fde =_eaaf (0.125);func _dfe (_dcea ,_cbf ,_edb float64 )float64 {if _dcea *6< 1{return _edb +(_cbf -_edb )*6*_dcea ;}else if _dcea *2< 1{return _cbf ;}else if _dcea *3< 2{return _edb +(_cbf -_edb )*(2.0/3.0-_dcea )*6;}else {return _edb ;};};func GetOpacityFromColorTransform (trs []*_ee .EG_ColorTransform )float64 {for _ ,_bgfd :=range trs {if _bgfd !=nil {if _daca :=_bgfd .Alpha ;_daca !=nil {if _fgd :=_daca .ValAttr .ST_PositiveFixedPercentageDecimal ;_fgd !=nil {return float64 (*_fgd )/100000;};};};};return 1.0;};var _bde =_eaaf (0.5);const (BorderPositionTop BorderPosition =0;BorderPositionLeft BorderPosition =1;BorderPositionBottom BorderPosition =2;BorderPositionRight BorderPosition =3;);func Lighten (clr float64 )float64 {return 0.6+0.4*clr };const _bfde =6.0;func (_feabg FontStyle )String ()string {return []string {"\u0052e\u0067\u0075\u006c\u0061\u0072","\u0042\u006f\u006c\u0064","\u0049\u0074\u0061\u006c\u0069\u0063","\u0042\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"}[int (_feabg )];};type ImgPart byte ;func TwipsFromPoints (points float64 )float64 {return points /_cf .Twips };func AdjustColor (colorStr string ,EG_ColorTransform []*_ee .EG_ColorTransform )string {for _ ,_cgg :=range EG_ColorTransform {if _dcee :=_cgg .Tint ;_dcee !=nil {if _beb :=_dcee .ValAttr .ST_PositiveFixedPercentageDecimal ;_beb !=nil {colorStr =AdjustColorByTint (colorStr ,float64 (*_beb )/100000);};};if _gge :=_cgg .Shade ;_gge !=nil {if _abf :=_gge .ValAttr .ST_PositiveFixedPercentageDecimal ;_abf !=nil {colorStr =AdjustColorByShade (colorStr ,float64 (*_abf )/100000);};};if _cafe :=_cgg .LumMod ;_cafe !=nil {if _bee :=_cafe .ValAttr .ST_PercentageDecimal ;_bee !=nil {colorStr =AdjustColorByLumMod (colorStr ,float64 (*_bee )/100000);};};};return colorStr ;};func RegisterFontsFromFiles (files []string )error {for _ ,_fdg :=range files {if _a .HasSuffix (_fdg ,"\u002e\u0074\u0074\u0066"){_eeaa :=_ffd (_fdg );if _eeaa !=nil {_fe .Log .Debug ("\u0075\u006ea\u0062\u006c\u0065\u0020\u0074o\u0020\u0070\u0072\u006f\u0063e\u0073\u0073\u0020\u0061\u006e\u0064\u0020\u0072\u0065\u0067\u0069\u0073\u0074\u0065\u0072\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0072\u006f\u006d\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_eeaa );continue ;};};};return nil ;};const (FontStyle_Regular FontStyle =0;FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);type Rectangle struct{Top float64 ;Bottom float64 ;Left float64 ;Right float64 ;};func (_agc *creatorContext )drawBorderWithProps (_cade *_ee .CT_ShapeProperties ,_fecb *Rectangle ,_ddfc float64 ){if _fecb !=nil &&_cade !=nil &&_cade .Ln !=nil &&_cade .Ln .SolidFill !=nil {_cba :=_agc .getPdfColorFromSolidFill (_cade .Ln .SolidFill );DrawRectangle (_agc ._abgd ,_fecb ,_ddfc ,_cba );};};var _bgc =_eaaf (1);func PointsFromTwips (twips int64 )float64 {return float64 (int64 (float64 (twips )*_cf .Twips *10+0.5))/10;};func GetDataFromXfrm (xfrm *_ee .CT_Transform2D )(float64 ,float64 ,float64 ,float64 ){var _cacf ,_ggd ,_dcfg ,_eaab float64 ;if _fafae :=xfrm .Off ;_fafae !=nil {_cacf =_cf .FromEMU (FromSTCoordinate (_fafae .XAttr ));_ggd =_cf .FromEMU (FromSTCoordinate (_fafae .YAttr ));};if _dbbc :=xfrm .Ext ;_dbbc !=nil {_dcfg =_cf .FromEMU (_dbbc .CxAttr );_eaab =_cf .FromEMU (_dbbc .CyAttr );};return _cacf ,_ggd ,_dcfg ,_eaab ;};func _eba (_dgfe *_dg .CT_SerAx )(uint32 ,_dg .ST_AxPos ,_dg .ST_TickMark ,_dg .ST_TickLblPos ,*_dg .CT_ChartLines ,uint32 ,*_ee .CT_ShapeProperties ,error ){var _bcef ,_cfcf uint32 ;var _decb _dg .ST_AxPos ;var _bcdb _dg .ST_TickMark ;var _ddgc *_dg .CT_ChartLines ;var _aae _dg .ST_TickLblPos ;if _dgfe .AxId ==nil {return _bcef ,_decb ,_bcdb ,_aae ,_ddgc ,_cfcf ,_dgfe .SpPr ,_gd .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bcef =_dgfe .AxId .ValAttr ;};if _dgfe .AxPos ==nil {return _bcef ,_decb ,_bcdb ,_aae ,_ddgc ,_cfcf ,_dgfe .SpPr ,_gd .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_decb =_dgfe .AxPos .ValAttr ;};if _dgfe .MajorTickMark !=nil {_bcdb =_dgfe .MajorTickMark .ValAttr ;};if _dgfe .TickLblPos !=nil {_aae =_dgfe .TickLblPos .ValAttr ;};if _dgfe .CrossAx ==nil {return _bcef ,_decb ,_bcdb ,_aae ,_ddgc ,_cfcf ,_dgfe .SpPr ,_gd .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_cfcf =_dgfe .CrossAx .ValAttr ;};_ddgc =_dgfe .MajorGridlines ;return _bcef ,_decb ,_bcdb ,_aae ,_ddgc ,_cfcf ,_dgfe .SpPr ,nil ;};func _ffd (_dbbg string )error {if !_a .HasSuffix (_dbbg ,"\u002e\u0074\u0074\u0066"){_fe .Log .Debug ("\u0055\u006es\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0069\u006c\u0065\u0020\u0066\u006f\u0072ma\u0074\u002e");return _d .Errorf ("\u0055\u006e\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020f\u006f\u006e\u0074\u0020\u0066\u0069l\u0065\u0020\u0066\u006f\u0072m\u0061\u0074\u002c\u0020\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u006cy\u0020\u006f\u006e\u006c\u0079\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0054T\u0046\u0020\u0066\u006f\u006e\u0074\u0020\u0066i\u006c\u0065\u002e");};_dbda ,_dea :=_bd .ParseFile (_dbbg );if _dea !=nil {_fe .Log .Debug ("\u0043a\u006e\u006e\u006f\u0074\u0020\u0070\u0061\u0072\u0073\u0065\u0020T\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_dea );return _dea ;};_afbg ,_dea :=_cfb .NewCompositePdfFontFromTTFFile (_dbbg );if _dea !=nil {return _dea ;};_fafa :=_dbda .GetNameRecords ();for _ ,_fcaga :=range _fafa {_aea :=_fcaga [1];if _aea ==""{return _d .Errorf ("\u004e\u006f\u0020\u0066\u006fn\u0074\u0020\u0066\u0061\u006d\u0069\u006c\u0079\u0020\u0069\u006e\u0066\u006fr\u006d\u0061\u0074\u0069\u006f\u006e\u0020\u0069\u006e\u0020\u0074\u0068\u0065\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_dbbg );};_ffec :=make ([]byte ,0);for _dcf :=0;_dcf < len (_aea );_dcf ++{if _aea [_dcf ]==39||_aea [_dcf ]==92{continue ;};_fbde :=4;if _dcf +_fbde < len (_aea ){if _aea [_dcf :_dcf +_fbde ]=="\u0000"{_dcf =_dcf +_fbde +1;continue ;};};_ffec =append (_ffec ,_aea [_dcf ]);};_aea =_a .Replace (string (_ffec ),"\u0078\u0030\u0030","",-1);_adab :=_fcaga [2];if _adab ==""{return _d .Errorf ("N\u006f\u0020\u0073\u0074\u0079\u006ce\u0020\u0069\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0020\u0069n\u0020\u0074\u0068\u0065\u0020\u0066\u0069\u006c\u0065\u0020%\u0073",_dbbg );};_ffec =make ([]byte ,0);for _bbc :=0;_bbc < len (_adab );_bbc ++{if _adab [_bbc ]==39||_adab [_bbc ]==92{continue ;};_dgab :=4;if _bbc +_dgab < len (_adab ){if _adab [_bbc :_bbc +_dgab ]=="\u0000"{_bbc =_bbc +_dgab +1;continue ;};};_ffec =append (_ffec ,_adab [_bbc ]);};_adab =_a .Replace (string (_ffec ),"\u0078\u0030\u0030","",-1);RegisterFont (_aea ,_edf [_adab ],_afbg );};return nil ;};func RegisterFontsFromDirectory (dirName string )error {_gcfg ,_cgb :=_cg .Open (dirName );if _cgb !=nil {return _cgb ;};defer _gcfg .Close ();_agg ,_cgb :=_gcfg .Readdirnames (0);if _cgb !=nil {return _cgb ;};for _ ,_agaa :=range _agg {if _a .HasSuffix (_agaa ,"\u002e\u0074\u0074\u0066"){_eef :=dirName +"\u002f"+_agaa ;_abff :=_ffd (_eef );if _abff !=nil {_fe .Log .Debug ("\u0075\u006ea\u0062\u006c\u0065\u0020\u0074o\u0020\u0070\u0072\u006f\u0063e\u0073\u0073\u0020\u0061\u006e\u0064\u0020\u0072\u0065\u0067\u0069\u0073\u0074\u0065\u0072\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0072\u006f\u006d\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_abff );continue ;};};};return nil ;};var StdFontsMap =map[string ][]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0043o\u0075\u0072\u0069\u0065\u0072":[]string {"\u0043o\u0075\u0072\u0069\u0065\u0072","\u0043\u006f\u0075r\u0069\u0065\u0072\u002d\u0042\u006f\u006c\u0064","\u0043o\u0075r\u0069\u0065\u0072\u002d\u004f\u0062\u006c\u0069\u0071\u0075\u0065","\u0043\u006f\u0075\u0072ie\u0072\u002d\u0042\u006f\u006c\u0064\u004f\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0054i\u006de\u0073\u0020\u004e\u0065\u0077\u0020\u0052\u006f\u006d\u0061\u006e":[]string {"T\u0069\u006d\u0065\u0073\u002d\u0052\u006f\u006d\u0061\u006e","\u0054\u0069\u006d\u0065\u0073\u002d\u0042\u006f\u006c\u0064","\u0054\u0069\u006de\u0073\u002d\u0049\u0074\u0061\u006c\u0069\u0063","\u0054\u0069m\u0065\u0073\u002dB\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"},"\u0064e\u0066\u0061\u0075\u006c\u0074":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"}}; |