@@ -20,8 +20,6 @@ struct PackedEntities{S,T} <: AbstractPackedTable{String}
20
20
namtab:: Vector{S}
21
21
end
22
22
PackedEntities (tab:: PackedTable ) = PackedEntities (tab. offsetvec, tab. namtab)
23
- Base. getindex (str:: PackedEntities , ind:: Integer ) =
24
- _unpackword (_tab, str. namtab[str. offsetvec[ind]+ 1 : str. offsetvec[ind+ 1 ]])
25
23
26
24
VER = UInt32 (1 )
27
25
@@ -45,6 +43,12 @@ struct Unicode_Entity <: AbstractEntityTable
45
43
nam:: PackedEntities
46
44
end
47
45
46
+ function Base. getindex (ent:: Unicode_Entity , ind:: Integer )
47
+ str = ent. nam
48
+ _unpackword (str. namtab[str. offsetvec[ind] + 1 : str. offsetvec[ind+ 1 ]],
49
+ ent. tab. wrd1, ent. tab. wrd2)
50
+ end
51
+
48
52
function __init__ ()
49
53
tab = Unicode_Table (StrTables. load (joinpath (Pkg. dir (" Unicode_Entities" ),
50
54
" data" , " unicode.dat" ))... )
@@ -94,21 +98,20 @@ function _unpackword(v::Vector{UInt8}, w1, w2)
94
98
end
95
99
String (take! (io))
96
100
end
97
- _unpackword (tab, v:: Vector{UInt8} ) = _unpackword (v, tab. wrd1, tab. wrd2)
98
101
99
102
# # Override methods
100
103
101
104
StrTables. _get_table (ent:: Unicode_Entity ) = ent. tab
102
- StrTables. _get_names (ent:: Unicode_Entity ) = ent. nam
105
+ StrTables. _get_names (ent:: Unicode_Entity ) = ent
103
106
104
107
function StrTables. _get_str (ent:: Unicode_Entity , ind)
105
108
tab = ent. tab
106
109
string (Char (ind <= tab. base32 ? tab. val16[ind] : tab. val32[ind - tab. base32] + 0x10000 ))
107
110
end
108
111
109
- function StrTables. lookupname (tab :: Unicode_Entity , str:: AbstractString )
110
- rng = searchsorted (tab . nam, uppercase (str))
111
- isempty (rng) ? StrTables. _empty_str : _get_str (tab . tab, tab . tab. ind[rng. start])
112
+ function StrTables. lookupname (ent :: Unicode_Entity , str:: AbstractString )
113
+ rng = searchsorted (ent . nam, uppercase (str))
114
+ isempty (rng) ? StrTables. _empty_str : _get_str (ent . tab, ent . tab. ind[rng. start])
112
115
end
113
116
114
117
StrTables. matches (ent:: Unicode_Entity , vec:: Vector{T} ) where {T} =
0 commit comments