unioffice/internal/formatutils/formatutils.go
2024-11-22 00:17:48 +00:00

27 lines
6.2 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 formatutils ;import (_c "fmt";_d "github.com/unidoc/unioffice/schema/soo/wml";_e "strconv";_b "strings";);func _gf (_dd int64 ,_ec *_d .CT_NumFmt )(_fgg string ){if _ec ==nil {return ;};_gfb :=_ec .ValAttr ;switch _gfb {case _d .ST_NumberFormatNone :_fgg ="";
case _d .ST_NumberFormatDecimal :_fgg =_e .Itoa (int (_dd ));case _d .ST_NumberFormatDecimalZero :_fgg =_e .Itoa (int (_dd ));if _dd < 10{_fgg ="\u0030"+_fgg ;};case _d .ST_NumberFormatUpperRoman :var (_ce =_dd %10;_da =(_dd %100)/10;_bc =(_dd %1000)/100;
_fd =_dd /1000;);_fgg =_ae [_fd ]+_bd [_bc ]+_ea [_da ]+_eeb [_ce ];case _d .ST_NumberFormatLowerRoman :var (_gb =_dd %10;_eac =(_dd %100)/10;_aed =(_dd %1000)/100;_de =_dd /1000;);_fgg =_ae [_de ]+_bd [_aed ]+_ea [_eac ]+_eeb [_gb ];_fgg =_b .ToLower (_fgg );
case _d .ST_NumberFormatUpperLetter :_dc :=_dd %780;if _dc ==0{_dc =780;};_dg :=(_dc -1)/26;_dgc :=(_dc -1)%26;_eaa :=_fb [_dg +_dgc ];_fgg =string (_eaa );case _d .ST_NumberFormatLowerLetter :_dca :=_dd %780;if _dca ==0{_dca =780;};_ddg :=(_dca -1)/26;
_ca :=(_dca -1)%26;_fcf :=_fb [_ddg +_ca ];_fgg =_b .ToLower (string (_fcf ));default:_fgg ="";};return ;};var (_eeb =[]string {"","\u0049","\u0049\u0049","\u0049\u0049\u0049","\u0049\u0056","\u0056","\u0056\u0049","\u0056\u0049\u0049","\u0056\u0049\u0049\u0049","\u0049\u0058"};
_ea =[]string {"","\u0058","\u0058\u0058","\u0058\u0058\u0058","\u0058\u004c","\u004c","\u004c\u0058","\u004c\u0058\u0058","\u004c\u0058\u0058\u0058","\u0058\u0043"};_bd =[]string {"","\u0043","\u0043\u0043","\u0043\u0043\u0043","\u0043\u0044","\u0044","\u0044\u0043","\u0044\u0043\u0043","\u0044\u0043\u0043\u0043","\u0043\u004d","\u004d"};
_ae =[]string {"","\u004d","\u004d\u004d","\u004d\u004d\u004d","\u004d\u004d\u004d\u004d","\u004d\u004d\u004dM\u004d","\u004d\u004d\u004d\u004d\u004d\u004d","\u004dM\u004d\u004d\u004d\u004d\u004d","\u004d\u004d\u004d\u004d\u004d\u004d\u004d\u004d","\u004dM\u004d\u004d\u004d\u004d\u004d\u004dM","\u004d\u004d\u004d\u004d\u004d\u004d\u004d\u004d\u004d\u004d"};
_fc =[]string {"\u006f\u006e\u0065","\u0074\u0077\u006f","\u0074\u0068\u0072e\u0065","\u0066\u006f\u0075\u0072","\u0066\u0069\u0076\u0065","\u0073\u0069\u0078","\u0073\u0065\u0076e\u006e","\u0065\u0069\u0067h\u0074","\u006e\u0069\u006e\u0065","\u0074\u0065\u006e","\u0065\u006c\u0065\u0076\u0065\u006e","\u0074\u0077\u0065\u006c\u0076\u0065","\u0074\u0068\u0069\u0072\u0074\u0065\u0065\u006e","\u0066\u006f\u0075\u0072\u0074\u0065\u0065\u006e","\u0066i\u0066\u0074\u0065\u0065\u006e","\u0073i\u0078\u0074\u0065\u0065\u006e","\u0073e\u0076\u0065\u006e\u0074\u0065\u0065n","\u0065\u0069\u0067\u0068\u0074\u0065\u0065\u006e","\u006e\u0069\u006e\u0065\u0074\u0065\u0065\u006e"};
_fa =[]string {"\u0074\u0065\u006e","\u0074\u0077\u0065\u006e\u0074\u0079","\u0074\u0068\u0069\u0072\u0074\u0079","\u0066\u006f\u0072t\u0079","\u0066\u0069\u0066t\u0079","\u0073\u0069\u0078t\u0079","\u0073e\u0076\u0065\u006e\u0074\u0079","\u0065\u0069\u0067\u0068\u0074\u0079","\u006e\u0069\u006e\u0065\u0074\u0079"};
_ge =[]string {"\u0066\u0069\u0072s\u0074","\u0073\u0065\u0063\u006f\u006e\u0064","\u0074\u0068\u0069r\u0064","\u0066\u006f\u0075\u0072\u0074\u0068","\u0066\u0069\u0066t\u0068","\u0073\u0069\u0078t\u0068","\u0073e\u0076\u0065\u006e\u0074\u0068","\u0065\u0069\u0067\u0068\u0074\u0068","\u006e\u0069\u006et\u0068","\u0074\u0065\u006et\u0068","\u0065\u006c\u0065\u0076\u0065\u006e\u0074\u0068","\u0074w\u0065\u006c\u0066\u0074\u0068","\u0074\u0068\u0069\u0072\u0074\u0065\u0065\u006e\u0074\u0068","\u0066\u006f\u0075\u0072\u0074\u0065\u0065\u006e\u0074\u0068","\u0066i\u0066\u0074\u0065\u0065\u006e\u0074h","\u0073i\u0078\u0074\u0065\u0065\u006e\u0074h","s\u0065\u0076\u0065\u006e\u0074\u0065\u0065\u006e\u0074\u0068","\u0065\u0069\u0067\u0068\u0074\u0065\u0065\u006e\u0074\u0068","\u006e\u0069\u006e\u0065\u0074\u0065\u0065\u006e\u0074\u0068"};
_be =[]string {"\u0074\u0065\u006et\u0068","\u0074w\u0065\u006e\u0074\u0069\u0065\u0074h","\u0074h\u0069\u0072\u0074\u0069\u0065\u0074h","\u0066\u006f\u0072\u0074\u0069\u0065\u0074\u0068","\u0066\u0069\u0066\u0074\u0069\u0065\u0074\u0068","\u0073\u0069\u0078\u0074\u0069\u0065\u0074\u0068","\u0073\u0065\u0076\u0065\u006e\u0074\u0069\u0065\u0074\u0068","\u0065i\u0067\u0068\u0074\u0069\u0065\u0074h","\u006ei\u006e\u0065\u0074\u0069\u0065\u0074h"};
_fb ="\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004bL\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056W\u0058\u0059\u005a";);func _cd (_ee string )(_bg []string ){for _bb :=0;_bb < len (_ee )-2;_bb ++{if string (_ee [_bb ])=="\u0025"{if !_b .Contains (string (_ee [_bb +2:]),"\u0025"){if _bb ==0{_bg =append (_bg ,_c .Sprintf ("\u0025\u0073\u0025\u0073\u0025\u0073",string (_ee [_bb ]),string (_ee [_bb +1]),string (_ee [_bb +2:])));
}else {_bg =append (_bg ,_c .Sprintf ("\u0025\u0073\u0025\u0073\u0025\u0073\u0025\u0073",string (_ee [_bb -1]),string (_ee [_bb ]),string (_ee [_bb +1]),string (_ee [_bb +2:])));};}else {_bg =append (_bg ,_c .Sprintf ("\u0025\u0073\u0025\u0073\u0025\u0073",string (_ee [_bb ]),string (_ee [_bb +1]),string (_ee [_bb +2])));
};};};return ;};func FormatNumberingText (currentNumber int64 ,ilvl int64 ,lvlText string ,numFmt *_d .CT_NumFmt ,levelNumbers map[int64 ]int64 )string {_g :=_cd (lvlText );_cg :=_gf (currentNumber ,numFmt );_fg :=int64 (0);for _cb ,_df :=range _g {_a :=_c .Sprintf ("\u0025\u0025\u0025\u0064",_cb +1);
if len (_g )==1{_a =_c .Sprintf ("\u0025\u0025\u0025\u0064",ilvl +1);_g [_cb ]=_b .Replace (_df ,_a ,_cg ,1);break ;};if ilvl > 0&&ilvl > _fg &&_cb < (len (_g )-1){_gd :=_gf (levelNumbers [_fg ],numFmt );_g [_cb ]=_b .Replace (_df ,_a ,_gd ,1);_fg ++;}else {_g [_cb ]=_b .Replace (_df ,_a ,_cg ,1);
};};return _b .Join (_g ,"");};func StringToNumbers (str string )(int ,bool ){_ef :=0;_beg :=false ;for _ ,_ece :=range []byte (str ){_ece -='0';if _ece > 9{continue ;};_ef =_ef *10+int (_ece );_beg =true ;};return _ef ,_beg ;};