diff options
Diffstat (limited to 'src/HangulData.zig')
| -rw-r--r-- | src/HangulData.zig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/HangulData.zig b/src/HangulData.zig index 4d80c99..b97424c 100644 --- a/src/HangulData.zig +++ b/src/HangulData.zig | |||
| @@ -15,7 +15,7 @@ pub const Syllable = enum { | |||
| 15 | 15 | ||
| 16 | allocator: mem.Allocator, | 16 | allocator: mem.Allocator, |
| 17 | s1: []u16 = undefined, | 17 | s1: []u16 = undefined, |
| 18 | s2: []Syllable = undefined, | 18 | s2: []u3 = undefined, |
| 19 | 19 | ||
| 20 | const Self = @This(); | 20 | const Self = @This(); |
| 21 | 21 | ||
| @@ -35,8 +35,8 @@ pub fn init(allocator: mem.Allocator) !Self { | |||
| 35 | for (0..stage_1_len) |i| self.s1[i] = try reader.readInt(u16, endian); | 35 | for (0..stage_1_len) |i| self.s1[i] = try reader.readInt(u16, endian); |
| 36 | 36 | ||
| 37 | const stage_2_len: u16 = try reader.readInt(u16, endian); | 37 | const stage_2_len: u16 = try reader.readInt(u16, endian); |
| 38 | self.s2 = try allocator.alloc(Syllable, stage_2_len); | 38 | self.s2 = try allocator.alloc(u3, stage_2_len); |
| 39 | for (0..stage_2_len) |i| self.s2[i] = @enumFromInt(try reader.readInt(u8, endian)); | 39 | for (0..stage_2_len) |i| self.s2[i] = @intCast(try reader.readInt(u8, endian)); |
| 40 | 40 | ||
| 41 | return self; | 41 | return self; |
| 42 | } | 42 | } |
| @@ -48,5 +48,5 @@ pub fn deinit(self: *Self) void { | |||
| 48 | 48 | ||
| 49 | /// Returns the Hangul syllable type for `cp`. | 49 | /// Returns the Hangul syllable type for `cp`. |
| 50 | pub inline fn syllable(self: Self, cp: u21) Syllable { | 50 | pub inline fn syllable(self: Self, cp: u21) Syllable { |
| 51 | return self.s2[self.s1[cp >> 8] + (cp & 0xff)]; | 51 | return @enumFromInt(self.s2[self.s1[cp >> 8] + (cp & 0xff)]); |
| 52 | } | 52 | } |