1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.6.3.1'

This commit is contained in:
gnosygnu
2016-06-19 23:58:10 -04:00
parent 96636f3161
commit d4e8590345
1960 changed files with 20790 additions and 9272 deletions

View File

@@ -17,11 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.langs.numbers; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
import gplx.core.primitives.*; import gplx.core.btries.*;
public class Xol_num_fmtr_base implements GfoInvkAble {
public class Xol_num_fmtr_base implements Gfo_invk {
private Btrie_fast_mgr dlm_trie = Btrie_fast_mgr.cs();
private Xol_num_grp[] grp_ary = Xol_num_grp.Ary_empty; int grp_ary_len;
private Gfo_num_fmt_wkr[] cache; int cache_len = 16;
private Bry_bfr tmp = Bry_bfr.new_();
private Bry_bfr tmp = Bry_bfr_.New();
public boolean Standard() {return standard;} private boolean standard = true;
public byte[] Dec_dlm() {return dec_dlm;} public Xol_num_fmtr_base Dec_dlm_(byte[] v) {this.dec_dlm = v; dlm_trie.Add_bry_byte(v, Raw_tid_dec); return this;} private byte[] dec_dlm = Dec_dlm_default;
private byte[] grp_dlm;
@@ -136,13 +136,13 @@ public class Xol_num_fmtr_base implements GfoInvkAble {
if (ctx.Match(k, Invk_dec_dlm_)) this.Dec_dlm_(m.ReadBry("v")); // NOTE: must call mutator
else if (ctx.Match(k, Invk_clear)) this.Clear();
else if (ctx.Match(k, Invk_grps_add)) this.Grps_add(new Xol_num_grp(m.ReadBry("dlm"), m.ReadInt("digits"), m.ReadYn("repeat")));
else return GfoInvkAble_.Rv_unhandled;
else return Gfo_invk_.Rv_unhandled;
return this;
}
public static final String Invk_dec_dlm_ = "dec_dlm_", Invk_clear = "clear", Invk_grps_add = "grps_add";
private static final byte Raw_tid_dec = 0, Raw_tid_grp = 1;
private static final byte[] Dec_dlm_default = new byte[] {Byte_ascii.Dot};
public static final byte[] Grp_dlm_default = new byte[] {Byte_ascii.Comma};
private static final byte[] Dec_dlm_default = new byte[] {Byte_ascii.Dot};
public static final byte[] Grp_dlm_default = new byte[] {Byte_ascii.Comma};
public static final byte Tid_format = 0, Tid_raw = 1, Tid_nosep = 2;
}
class Gfo_num_fmt_wkr {

View File

@@ -45,7 +45,7 @@ public class Xol_num_grp_fmtr_tst {
}
class Xol_num_grp_fmtr_fxt {
private Xol_num_grp_fmtr grouper = new Xol_num_grp_fmtr();
private Bry_bfr bfr = Bry_bfr.new_();
private Bry_bfr bfr = Bry_bfr_.New();
public void Reset() {}
public void Test_fmt_regx(String raw, String expd) {
byte[] actl = grouper.Fmt_regx(bfr, Bry_.new_a7(raw));

View File

@@ -16,10 +16,10 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.langs.numbers; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
public class Xol_num_mgr implements GfoInvkAble {
public class Xol_num_mgr implements Gfo_invk {
private boolean digits_translate;
protected Bry_bfr tmp_bfr = Bry_bfr.reset_(32);
private static final byte[] Comma_bry = Bry_.new_a7(",");
protected Bry_bfr tmp_bfr = Bry_bfr_.Reset(32);
private static final byte[] Comma_bry = Bry_.new_a7(",");
public Xol_num_grp_fmtr Num_grp_fmtr() {return num_grp_fmtr;} private Xol_num_grp_fmtr num_grp_fmtr = new Xol_num_grp_fmtr();
public Xol_transform_mgr Separators_mgr() {return separators_mgr;} private Xol_transform_mgr separators_mgr = new Xol_transform_mgr();
public Xol_transform_mgr Digits_mgr() {return digits_mgr;} private Xol_transform_mgr digits_mgr = new Xol_transform_mgr();
@@ -62,12 +62,12 @@ public class Xol_num_mgr implements GfoInvkAble {
else if (ctx.Match(k, Invk_digits)) {digits_translate = true; return digits_mgr;} // NOTE: only langes with a digit_transform_table will call digits; DATE:2014-05-28
else if (ctx.Match(k, Invk_digit_grouping_pattern)) return String_.new_u8(num_grp_fmtr.Digit_grouping_pattern());
else if (ctx.Match(k, Invk_digit_grouping_pattern_)) num_grp_fmtr.Digit_grouping_pattern_(m.ReadBry("v"));
else return GfoInvkAble_.Rv_unhandled;
else return Gfo_invk_.Rv_unhandled;
return this;
}
public static final String Invk_clear = "clear", Invk_separators = "separators"
, Invk_digits = "digits", Invk_digit_grouping_pattern = "digit_grouping_pattern", Invk_digit_grouping_pattern_ = "digit_grouping_pattern_";
public static final byte[]
public static final byte[]
Separators_key__grp = new byte[]{Byte_ascii.Comma}
, Separators_key__dec = new byte[]{Byte_ascii.Dot}
;

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.langs.numbers; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*;
import gplx.core.btries.*;
public class Xol_transform_mgr implements GfoInvkAble {
public class Xol_transform_mgr implements Gfo_invk {
private Btrie_fast_mgr trie_k_to_v = Btrie_fast_mgr.cs();
private Btrie_fast_mgr trie_v_to_k = Btrie_fast_mgr.cs();
private Ordered_hash hash = Ordered_hash_.New_bry();
@@ -47,7 +47,7 @@ public class Xol_transform_mgr implements GfoInvkAble {
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (ctx.Match(k, Invk_set)) Set(m.ReadBry("k"), m.ReadBry("v"));
else if (ctx.Match(k, Invk_clear)) Clear();
else return GfoInvkAble_.Rv_unhandled;
else return Gfo_invk_.Rv_unhandled;
return this;
}
public static final String Invk_set = "set", Invk_clear = "clear";