| author | |
| committer | |
| log | ab91c7909f771c790977c0b0b8fa53a025e280ce |
| tree | 5893472d216f764d0740144e4aefe3021b565be1 |
| parent | d1d79e5d19db1a6f9b8c35a75bc8abc31d4e06fd |
2 files changed, 12 insertions(+), 1 deletions(-)
src/main.zig+1-1| ... | ... | @@ -110,7 +110,7 @@ export fn u_hasBinaryProperty(cp: u32, prop: t.UProperty) bool { |
| 110 | 110 | .UCHAR_VERTICAL_ORIENTATION => false, // TODO |
| 111 | 111 | .UCHAR_GENERAL_CATEGORY_MASK => false, // TODO |
| 112 | 112 | .UCHAR_NUMERIC_VALUE => false, // TODO |
| 113 | .UCHAR_AGE => false, // TODO | |
| 113 | .UCHAR_AGE => @as(u16, @bitCast(icu.age(cp))) > 0, | |
| 114 | 114 | .UCHAR_BIDI_MIRRORING_GLYPH => false, // TODO |
| 115 | 115 | .UCHAR_CASE_FOLDING => false, // TODO |
| 116 | 116 | .UCHAR_LOWERCASE_MAPPING => false, // TODO |
src/root.zig+11| ... | ... | @@ -36,3 +36,14 @@ pub fn hasEmojiCategory(cp: u32, comptime cat: ucd.emoji.Emoji.Category) bool { |
| 36 | 36 | } |
| 37 | 37 | return false; |
| 38 | 38 | } |
| 39 | ||
| 40 | /// {0,0} means not found | |
| 41 | pub fn age(cp: u32) [2]u8 { | |
| 42 | @setEvalBranchQuota(100_000); | |
| 43 | inline for (ucd.derived_age.data) |item| { | |
| 44 | if (cp >= item.from and cp <= item.to) { | |
| 45 | return item.since; | |
| 46 | } | |
| 47 | } | |
| 48 | return .{ 0, 0 }; | |
| 49 | } |