diff --git a/res/config.ini b/res/config.ini index f4de2e2..596ef36 100644 --- a/res/config.ini +++ b/res/config.ini @@ -54,6 +54,7 @@ bg = 0x0000 # Change the state and language of the big clock # none -> Disabled (default) # en -> English +# fa -> Farsi bigclock = none # Blank main box background diff --git a/src/bigclock.zig b/src/bigclock.zig index ef02d5b..13e1c07 100644 --- a/src/bigclock.zig +++ b/src/bigclock.zig @@ -4,6 +4,8 @@ const utils = @import("tui/utils.zig"); const enums = @import("enums.zig"); const Lang = @import("bigclock/Lang.zig"); const en = @import("bigclock/en.zig"); +const fa = @import("bigclock/fa.zig"); + const termbox = interop.termbox; const Bigclock = enums.Bigclock; pub const WIDTH = Lang.WIDTH; @@ -35,6 +37,7 @@ pub fn alphaBlit(x: usize, y: usize, tb_width: usize, tb_height: usize, cells: [ fn toBigNumber(char: u8, bigclock: Bigclock) []const u21 { const locale_chars = switch (bigclock) { + .fa => fa.locale_chars, else => en.locale_chars, }; return switch (char) { diff --git a/src/bigclock/fa.zig b/src/bigclock/fa.zig new file mode 100644 index 0000000..36ff2eb --- /dev/null +++ b/src/bigclock/fa.zig @@ -0,0 +1,92 @@ +const Lang = @import("Lang.zig"); + +const LocaleChars = Lang.LocaleChars; +const X = Lang.X; +const O = Lang.O; + +pub const locale_chars = LocaleChars{ + .ZERO = [_]u21{ + O,O,O,O,O, + O,O,X,O,O, + O,X,O,X,O, + O,O,X,O,O, + O,O,O,O,O, + }, + .ONE = [_]u21{ + O,O,X,O,O, + O,X,X,O,O, + O,O,X,O,O, + O,O,X,O,O, + O,O,X,O,O, + }, + .TWO = [_]u21{ + O,X,O,X,O, + O,X,X,X,O, + O,X,O,O,O, + O,X,O,O,O, + O,X,O,O,O, + }, + .THREE = [_]u21{ + X,O,X,O,X, + X,X,X,X,X, + X,O,O,O,O, + X,O,O,O,O, + X,O,O,O,O, + }, + .FOUR = [_]u21{ + O,X,O,X,X, + O,X,X,O,O, + O,X,X,X,X, + O,X,O,O,O, + O,X,O,O,O, + }, + .FIVE = [_]u21{ + O,O,X,X,O, + O,X,O,O,X, + X,O,O,O,X, + X,O,X,O,X, + O,X,O,X,O, + }, + .SIX = [_]u21{ + O,X,X,O,O, + O,X,O,O,X, + O,O,X,O,O, + O,X,O,O,O, + X,O,O,O,O, + }, + .SEVEN = [_]u21{ + X,O,O,O,X, + X,O,O,O,X, + O,X,O,X,O, + O,X,O,X,O, + O,O,X,O,O, + }, + .EIGHT = [_]u21{ + O,O,O,X,O, + O,O,X,O,X, + O,O,X,O,X, + O,X,O,O,X, + O,X,O,O,X, + }, + .NINE = [_]u21{ + O,X,X,X,O, + O,X,O,X,O, + O,X,X,X,O, + O,O,O,X,O, + O,O,O,X,O, + }, + .S = [_]u21{ + O,O,O,O,O, + O,O,X,O,O, + O,O,O,O,O, + O,O,X,O,O, + O,O,O,O,O, + }, + .E = [_]u21{ + O,O,O,O,O, + O,O,O,O,O, + O,O,O,O,O, + O,O,O,O,O, + O,O,O,O,O, + }, +}; \ No newline at end of file diff --git a/src/enums.zig b/src/enums.zig index de42116..ad0cc47 100644 --- a/src/enums.zig +++ b/src/enums.zig @@ -26,4 +26,5 @@ pub const ViMode = enum { pub const Bigclock = enum { none, en, + fa, }; \ No newline at end of file