mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-18 20:40:28 +00:00
Corrected issue with PropList.txt ranges
This commit is contained in:
committed by
Jeroen van Rijn
parent
090dedda1b
commit
b4d70d3c5b
@@ -1220,32 +1220,37 @@ extra_digits_ranges := Range{
|
||||
|
||||
@(rodata)
|
||||
other_lowercase_singles16 := [?]u16{
|
||||
0x02B8, 0x02C1, 0x02E4, 0x1D6A, 0x1DBF, 0x209C, 0x217F, 0x24E9, 0x2C7D, 0xA69D,
|
||||
0xA7F4, 0xA7F9, 0xAB5F,
|
||||
0x00AA, 0x00BA, 0x0345, 0x037A, 0x10FC, 0x1D78, 0x2071, 0x207F, 0xA770, 0xAB69,
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
other_lowercase_ranges16 := [?]u16{
|
||||
0x0000, 0x00AA,
|
||||
0x0000, 0x00BA,
|
||||
0x0000, 0x0345,
|
||||
0x0000, 0x037A,
|
||||
0x0000, 0x10FC,
|
||||
0x0000, 0x1D78,
|
||||
0x0000, 0x2071,
|
||||
0x0000, 0x207F,
|
||||
0x0000, 0xA770,
|
||||
0x0000, 0xAB69,
|
||||
0x02B0, 0x02B8,
|
||||
0x02C0, 0x02C1,
|
||||
0x02E0, 0x02E4,
|
||||
0x1D2C, 0x1D6A,
|
||||
0x1D9B, 0x1DBF,
|
||||
0x2090, 0x209C,
|
||||
0x2170, 0x217F,
|
||||
0x24D0, 0x24E9,
|
||||
0x2C7C, 0x2C7D,
|
||||
0xA69C, 0xA69D,
|
||||
0xA7F1, 0xA7F4,
|
||||
0xA7F8, 0xA7F9,
|
||||
0xAB5C, 0xAB5F,
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
other_lowercase_singles32 := [?]i32{
|
||||
0x10785, 0x107B0, 0x107BA, 0x1E06D,
|
||||
0x10780,
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
other_lowercase_ranges32 := [?]i32{
|
||||
0x0000, 0x10780,
|
||||
0x10783, 0x10785,
|
||||
0x10787, 0x107B0,
|
||||
0x107B2, 0x107BA,
|
||||
0x1E030, 0x1E06D,
|
||||
}
|
||||
|
||||
other_lowercase_ranges := Range{
|
||||
@@ -1256,17 +1261,20 @@ other_lowercase_ranges := Range{
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
other_uppercase_singles16 := [?]u16{
|
||||
0x216F, 0x24CF,
|
||||
other_uppercase_ranges16 := [?]u16{
|
||||
0x2160, 0x216F,
|
||||
0x24B6, 0x24CF,
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
other_uppercase_singles32 := [?]i32{
|
||||
0x1F149, 0x1F169, 0x1F189,
|
||||
other_uppercase_ranges32 := [?]i32{
|
||||
0x1F130, 0x1F149,
|
||||
0x1F150, 0x1F169,
|
||||
0x1F170, 0x1F189,
|
||||
}
|
||||
|
||||
other_uppercase_ranges := Range{
|
||||
single_16 = other_uppercase_singles16[:],
|
||||
single_32 = other_uppercase_singles32[:],
|
||||
ranges_16 = other_uppercase_ranges16[:],
|
||||
ranges_32 = other_uppercase_ranges32[:],
|
||||
}
|
||||
|
||||
|
||||
@@ -267,6 +267,7 @@ load_protperty_list :: proc (
|
||||
if !(c >= '0' && c <= '9') && !(c >= 'A' && c <= 'F') {
|
||||
if c == '.' {
|
||||
is_range = true
|
||||
rr.last = 0
|
||||
continue
|
||||
} else {
|
||||
err = UCD_Error.Invalid_Hex_Number
|
||||
@@ -274,14 +275,14 @@ load_protperty_list :: proc (
|
||||
}
|
||||
}
|
||||
if is_range {
|
||||
rr.last *= 16
|
||||
rr.last += cast(rune)(c >= '0' && c <= '9') * cast(rune)(c - '0')
|
||||
rr.last += cast(rune)(c >= 'A' && c <= 'F') * cast(rune)(c - 'A' + 10)
|
||||
} else {
|
||||
rr.first *= 16
|
||||
rr.first += cast(rune)(c >= '0' && c <= '9') * cast(rune)(c - '0')
|
||||
rr.first += cast(rune)(c >= 'A' && c <= 'F') * cast(rune)(c - 'A' + 10)
|
||||
rr.last = rr.first
|
||||
} else {
|
||||
rr.last *= 16
|
||||
rr.last += cast(rune)(c >= '0' && c <= '9') * cast(rune)(c - '0')
|
||||
rr.last += cast(rune)(c >= 'A' && c <= 'F') * cast(rune)(c - 'A' + 10)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user