Skip to content

Commit af0ff81

Browse files
authored
support for 32 bits unicode characters (#48)
1 parent b9cf415 commit af0ff81

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

mathics_scanner/prescanner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class Prescanner(object):
1010
character codes to characters:
1111
\.7A -> z
1212
\:004a -> J
13+
\|01D451 -> \U0001D451
1314
\041 -> !
1415
unicode longnames to characters:
1516
\[Theta] -> \u03B8
@@ -45,6 +46,8 @@ def scan(self):
4546
if self.pos + 1 == len(self.code):
4647
self.incomplete()
4748
c = self.code[self.pos + 1]
49+
if c == "|":
50+
self.try_parse_base(2, 8, 16)
4851
if c == ".":
4952
self.try_parse_base(2, 4, 16)
5053
elif c == ":":

test/test_prescanner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ def test_hex_colon(self):
5252
self.equal(r"\:03B8", "\u03B8")
5353
self.equal(r"\:03b8", "\u03B8")
5454

55+
def test_hex_vbar(self):
56+
self.equal(r"\|01D451", "\U0001D451")
57+
5558
def test_incomplete(self):
5659
self.incomplete(r"\[")
5760
self.incomplete(r"\[Theta")

0 commit comments

Comments
 (0)