regexp_parser 2.8.1 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -4
  3. data/LICENSE +1 -1
  4. data/Rakefile +5 -3
  5. data/lib/regexp_parser/error.rb +2 -0
  6. data/lib/regexp_parser/expression/base.rb +2 -0
  7. data/lib/regexp_parser/expression/classes/alternation.rb +2 -0
  8. data/lib/regexp_parser/expression/classes/anchor.rb +2 -0
  9. data/lib/regexp_parser/expression/classes/backreference.rb +3 -20
  10. data/lib/regexp_parser/expression/classes/character_set/intersection.rb +2 -0
  11. data/lib/regexp_parser/expression/classes/character_set/range.rb +2 -0
  12. data/lib/regexp_parser/expression/classes/character_set.rb +3 -4
  13. data/lib/regexp_parser/expression/classes/character_type.rb +2 -0
  14. data/lib/regexp_parser/expression/classes/conditional.rb +2 -14
  15. data/lib/regexp_parser/expression/classes/escape_sequence.rb +26 -95
  16. data/lib/regexp_parser/expression/classes/free_space.rb +2 -0
  17. data/lib/regexp_parser/expression/classes/group.rb +2 -0
  18. data/lib/regexp_parser/expression/classes/keep.rb +3 -1
  19. data/lib/regexp_parser/expression/classes/literal.rb +2 -0
  20. data/lib/regexp_parser/expression/classes/posix_class.rb +2 -4
  21. data/lib/regexp_parser/expression/classes/root.rb +2 -0
  22. data/lib/regexp_parser/expression/classes/unicode_property.rb +8 -9
  23. data/lib/regexp_parser/expression/methods/construct.rb +2 -0
  24. data/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
  25. data/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
  26. data/lib/regexp_parser/expression/methods/human_name.rb +2 -0
  27. data/lib/regexp_parser/expression/methods/match.rb +2 -0
  28. data/lib/regexp_parser/expression/methods/match_length.rb +2 -0
  29. data/lib/regexp_parser/expression/methods/negative.rb +22 -0
  30. data/lib/regexp_parser/expression/methods/options.rb +2 -0
  31. data/lib/regexp_parser/expression/methods/parts.rb +2 -0
  32. data/lib/regexp_parser/expression/methods/printing.rb +2 -0
  33. data/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
  34. data/lib/regexp_parser/expression/methods/strfregexp.rb +2 -0
  35. data/lib/regexp_parser/expression/methods/tests.rb +2 -0
  36. data/lib/regexp_parser/expression/methods/traverse.rb +2 -0
  37. data/lib/regexp_parser/expression/quantifier.rb +3 -1
  38. data/lib/regexp_parser/expression/sequence.rb +2 -0
  39. data/lib/regexp_parser/expression/sequence_operation.rb +2 -0
  40. data/lib/regexp_parser/expression/shared.rb +6 -3
  41. data/lib/regexp_parser/expression/subexpression.rb +2 -0
  42. data/lib/regexp_parser/expression.rb +39 -33
  43. data/lib/regexp_parser/lexer.rb +2 -0
  44. data/lib/regexp_parser/parser.rb +16 -9
  45. data/lib/regexp_parser/scanner/errors/premature_end_error.rb +2 -0
  46. data/lib/regexp_parser/scanner/errors/scanner_error.rb +3 -1
  47. data/lib/regexp_parser/scanner/errors/validation_error.rb +2 -0
  48. data/lib/regexp_parser/scanner/properties/long.csv +50 -0
  49. data/lib/regexp_parser/scanner/properties/short.csv +13 -0
  50. data/lib/regexp_parser/scanner/scanner.rl +62 -18
  51. data/lib/regexp_parser/scanner.rb +1041 -936
  52. data/lib/regexp_parser/syntax/any.rb +2 -0
  53. data/lib/regexp_parser/syntax/base.rb +2 -0
  54. data/lib/regexp_parser/syntax/token/anchor.rb +5 -3
  55. data/lib/regexp_parser/syntax/token/assertion.rb +4 -2
  56. data/lib/regexp_parser/syntax/token/backreference.rb +8 -6
  57. data/lib/regexp_parser/syntax/token/character_set.rb +3 -1
  58. data/lib/regexp_parser/syntax/token/character_type.rb +6 -4
  59. data/lib/regexp_parser/syntax/token/conditional.rb +5 -3
  60. data/lib/regexp_parser/syntax/token/escape.rb +9 -7
  61. data/lib/regexp_parser/syntax/token/group.rb +8 -6
  62. data/lib/regexp_parser/syntax/token/keep.rb +3 -1
  63. data/lib/regexp_parser/syntax/token/meta.rb +4 -2
  64. data/lib/regexp_parser/syntax/token/posix_class.rb +4 -2
  65. data/lib/regexp_parser/syntax/token/quantifier.rb +8 -6
  66. data/lib/regexp_parser/syntax/token/unicode_property.rb +149 -71
  67. data/lib/regexp_parser/syntax/token/virtual.rb +5 -3
  68. data/lib/regexp_parser/syntax/token.rb +18 -16
  69. data/lib/regexp_parser/syntax/version_lookup.rb +4 -2
  70. data/lib/regexp_parser/syntax/versions/1.8.6.rb +2 -0
  71. data/lib/regexp_parser/syntax/versions/1.9.1.rb +2 -0
  72. data/lib/regexp_parser/syntax/versions/1.9.3.rb +2 -0
  73. data/lib/regexp_parser/syntax/versions/2.0.0.rb +2 -0
  74. data/lib/regexp_parser/syntax/versions/2.2.0.rb +2 -0
  75. data/lib/regexp_parser/syntax/versions/2.3.0.rb +2 -0
  76. data/lib/regexp_parser/syntax/versions/2.4.0.rb +2 -0
  77. data/lib/regexp_parser/syntax/versions/2.4.1.rb +2 -0
  78. data/lib/regexp_parser/syntax/versions/2.5.0.rb +2 -0
  79. data/lib/regexp_parser/syntax/versions/2.6.0.rb +2 -0
  80. data/lib/regexp_parser/syntax/versions/2.6.2.rb +2 -0
  81. data/lib/regexp_parser/syntax/versions/2.6.3.rb +2 -0
  82. data/lib/regexp_parser/syntax/versions/3.1.0.rb +2 -0
  83. data/lib/regexp_parser/syntax/versions/3.2.0.rb +2 -0
  84. data/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
  85. data/lib/regexp_parser/syntax/versions/4.0.0.rb +4 -0
  86. data/lib/regexp_parser/syntax/versions.rb +3 -1
  87. data/lib/regexp_parser/syntax.rb +3 -1
  88. data/lib/regexp_parser/token.rb +2 -0
  89. data/lib/regexp_parser/version.rb +3 -1
  90. data/lib/regexp_parser.rb +8 -6
  91. data/regexp_parser.gemspec +7 -5
  92. metadata +13 -11
  93. data/CHANGELOG.md +0 -691
  94. data/README.md +0 -506
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Regexp::Expression
2
4
  module Shared
3
5
  module ClassMethods; end # filled in ./methods/*.rb
@@ -70,11 +72,12 @@ module Regexp::Expression
70
72
  # lit.to_s(:original) # => 'a +' # with quantifier AND intermittent decorations
71
73
  #
72
74
  def to_s(format = :full)
73
- base = parts.each_with_object(''.dup) do |part, buff|
75
+ base = ''.dup
76
+ parts.each do |part|
74
77
  if part.instance_of?(String)
75
- buff << part
78
+ base << part
76
79
  elsif !part.custom_to_s_handling
77
- buff << part.to_s(:original)
80
+ base << part.to_s(:original)
78
81
  end
79
82
  end
80
83
  "#{base}#{pre_quantifier_decoration(format)}#{quantifier_affix(format)}"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Regexp::Expression
2
4
  class Subexpression < Regexp::Expression::Base
3
5
  include Enumerable
@@ -1,36 +1,42 @@
1
- require 'regexp_parser/error'
1
+ # frozen_string_literal: true
2
2
 
3
- require 'regexp_parser/expression/shared'
4
- require 'regexp_parser/expression/base'
5
- require 'regexp_parser/expression/quantifier'
6
- require 'regexp_parser/expression/subexpression'
7
- require 'regexp_parser/expression/sequence'
8
- require 'regexp_parser/expression/sequence_operation'
3
+ require_relative 'error'
9
4
 
10
- require 'regexp_parser/expression/classes/alternation'
11
- require 'regexp_parser/expression/classes/anchor'
12
- require 'regexp_parser/expression/classes/backreference'
13
- require 'regexp_parser/expression/classes/character_set'
14
- require 'regexp_parser/expression/classes/character_set/intersection'
15
- require 'regexp_parser/expression/classes/character_set/range'
16
- require 'regexp_parser/expression/classes/character_type'
17
- require 'regexp_parser/expression/classes/conditional'
18
- require 'regexp_parser/expression/classes/escape_sequence'
19
- require 'regexp_parser/expression/classes/free_space'
20
- require 'regexp_parser/expression/classes/group'
21
- require 'regexp_parser/expression/classes/keep'
22
- require 'regexp_parser/expression/classes/literal'
23
- require 'regexp_parser/expression/classes/posix_class'
24
- require 'regexp_parser/expression/classes/root'
25
- require 'regexp_parser/expression/classes/unicode_property'
5
+ require_relative 'expression/shared'
6
+ require_relative 'expression/base'
7
+ require_relative 'expression/quantifier'
8
+ require_relative 'expression/subexpression'
9
+ require_relative 'expression/sequence'
10
+ require_relative 'expression/sequence_operation'
26
11
 
27
- require 'regexp_parser/expression/methods/construct'
28
- require 'regexp_parser/expression/methods/human_name'
29
- require 'regexp_parser/expression/methods/match'
30
- require 'regexp_parser/expression/methods/match_length'
31
- require 'regexp_parser/expression/methods/options'
32
- require 'regexp_parser/expression/methods/parts'
33
- require 'regexp_parser/expression/methods/printing'
34
- require 'regexp_parser/expression/methods/strfregexp'
35
- require 'regexp_parser/expression/methods/tests'
36
- require 'regexp_parser/expression/methods/traverse'
12
+ require_relative 'expression/classes/alternation'
13
+ require_relative 'expression/classes/anchor'
14
+ require_relative 'expression/classes/backreference'
15
+ require_relative 'expression/classes/character_set'
16
+ require_relative 'expression/classes/character_set/intersection'
17
+ require_relative 'expression/classes/character_set/range'
18
+ require_relative 'expression/classes/character_type'
19
+ require_relative 'expression/classes/conditional'
20
+ require_relative 'expression/classes/escape_sequence'
21
+ require_relative 'expression/classes/free_space'
22
+ require_relative 'expression/classes/group'
23
+ require_relative 'expression/classes/keep'
24
+ require_relative 'expression/classes/literal'
25
+ require_relative 'expression/classes/posix_class'
26
+ require_relative 'expression/classes/root'
27
+ require_relative 'expression/classes/unicode_property'
28
+
29
+ require_relative 'expression/methods/construct'
30
+ require_relative 'expression/methods/escape_sequence_char'
31
+ require_relative 'expression/methods/escape_sequence_codepoint'
32
+ require_relative 'expression/methods/human_name'
33
+ require_relative 'expression/methods/match'
34
+ require_relative 'expression/methods/match_length'
35
+ require_relative 'expression/methods/negative'
36
+ require_relative 'expression/methods/options'
37
+ require_relative 'expression/methods/parts'
38
+ require_relative 'expression/methods/printing'
39
+ require_relative 'expression/methods/referenced_expressions'
40
+ require_relative 'expression/methods/strfregexp'
41
+ require_relative 'expression/methods/tests'
42
+ require_relative 'expression/methods/traverse'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A very thin wrapper around the scanner that breaks quantified literal runs,
2
4
  # collects emitted tokens into an array, calculates their nesting depth, and
3
5
  # normalizes tokens for the parser, and checks if they are implemented by the
@@ -1,5 +1,7 @@
1
- require 'regexp_parser/error'
2
- require 'regexp_parser/expression'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'error'
4
+ require_relative 'expression'
3
5
 
4
6
  class Regexp::Parser
5
7
  include Regexp::Expression
@@ -319,6 +321,7 @@ class Regexp::Parser
319
321
  when :codepoint_list; node << EscapeSequence::CodepointList.new(token, active_opts)
320
322
  when :hex; node << EscapeSequence::Hex.new(token, active_opts)
321
323
  when :octal; node << EscapeSequence::Octal.new(token, active_opts)
324
+ when :utf8_hex; node << EscapeSequence::UTF8Hex.new(token, active_opts)
322
325
 
323
326
  when :control
324
327
  if token.text =~ /\A(?:\\C-\\M|\\c\\M)/
@@ -467,6 +470,7 @@ class Regexp::Parser
467
470
  when *UPTokens::Age; node << UP::Age.new(token, active_opts)
468
471
  when *UPTokens::Derived; node << UP::Derived.new(token, active_opts)
469
472
  when *UPTokens::Emoji; node << UP::Emoji.new(token, active_opts)
473
+ when *UPTokens::Enumerated; node << UP::Enumerated.new(token, active_opts)
470
474
  when *UPTokens::Script; node << UP::Script.new(token, active_opts)
471
475
  when *UPTokens::UnicodeBlock; node << UP::Block.new(token, active_opts)
472
476
 
@@ -574,21 +578,24 @@ class Regexp::Parser
574
578
  options_stack.last
575
579
  end
576
580
 
577
- # Assigns referenced expressions to refering expressions, e.g. if there is
581
+ # Assigns referenced expressions to referring expressions, e.g. if there is
578
582
  # an instance of Backreference::Number, its #referenced_expression is set to
579
583
  # the instance of Group::Capture that it refers to via its number.
580
584
  def assign_referenced_expressions
581
- # find all referencable and refering expressions
582
- targets = { 0 => root }
585
+ # find all referenceable and referring expressions
586
+ targets = { 0 => [root] }
583
587
  referrers = []
584
588
  root.each_expression do |exp|
585
- exp.is_a?(Group::Capture) && targets[exp.identifier] = exp
586
- referrers << exp if exp.referential?
589
+ if exp.referential?
590
+ referrers << exp
591
+ elsif exp.is_a?(Group::Capture)
592
+ (targets[exp.identifier] ||= []) << exp
593
+ end
587
594
  end
588
- # assign reference expression to refering expressions
595
+ # assign referenced expressions to referring expressions
589
596
  # (in a second iteration because there might be forward references)
590
597
  referrers.each do |exp|
591
- exp.referenced_expression = targets[exp.reference] ||
598
+ exp.referenced_expressions = targets[exp.reference] ||
592
599
  raise(ParserError, "Invalid reference #{exp.reference} at pos #{exp.ts}")
593
600
  end
594
601
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Regexp::Scanner
2
4
  # Unexpected end of pattern
3
5
  class PrematureEndError < ScannerError
@@ -1,4 +1,6 @@
1
- require 'regexp_parser/error'
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../regexp_parser/error'
2
4
 
3
5
  class Regexp::Scanner
4
6
  # General scanner error (catch all)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Regexp::Scanner
2
4
  # Base for all scanner validation errors
3
5
  class ValidationError < ScannerError
@@ -8,6 +8,9 @@ age=12.1,age=12.1
8
8
  age=13.0,age=13.0
9
9
  age=14.0,age=14.0
10
10
  age=15.0,age=15.0
11
+ age=15.1,age=15.1
12
+ age=16.0,age=16.0
13
+ age=17.0,age=17.0
11
14
  age=2.0,age=2.0
12
15
  age=2.1,age=2.1
13
16
  age=3.0,age=3.0
@@ -42,6 +45,7 @@ bamum,bamum
42
45
  bassavah,bassa_vah
43
46
  batak,batak
44
47
  bengali,bengali
48
+ beriaerfe,beria_erfe
45
49
  bhaiksuki,bhaiksuki
46
50
  bidicontrol,bidi_control
47
51
  blank,blank
@@ -102,18 +106,33 @@ extendedpictographic,extended_pictographic
102
106
  extender,extender
103
107
  finalpunctuation,final_punctuation
104
108
  format,format
109
+ garay,garay
105
110
  georgian,georgian
106
111
  glagolitic,glagolitic
107
112
  gothic,gothic
108
113
  grantha,grantha
109
114
  graph,graph
110
115
  graphemebase,grapheme_base
116
+ graphemeclusterbreak=control,grapheme_cluster_break=control
117
+ graphemeclusterbreak=cr,grapheme_cluster_break=cr
118
+ graphemeclusterbreak=extend,grapheme_cluster_break=extend
119
+ graphemeclusterbreak=l,grapheme_cluster_break=l
120
+ graphemeclusterbreak=lf,grapheme_cluster_break=lf
121
+ graphemeclusterbreak=lv,grapheme_cluster_break=lv
122
+ graphemeclusterbreak=lvt,grapheme_cluster_break=lvt
123
+ graphemeclusterbreak=prepend,grapheme_cluster_break=prepend
124
+ graphemeclusterbreak=regionalindicator,grapheme_cluster_break=regional_indicator
125
+ graphemeclusterbreak=spacingmark,grapheme_cluster_break=spacingmark
126
+ graphemeclusterbreak=t,grapheme_cluster_break=t
127
+ graphemeclusterbreak=v,grapheme_cluster_break=v
128
+ graphemeclusterbreak=zwj,grapheme_cluster_break=zwj
111
129
  graphemeextend,grapheme_extend
112
130
  graphemelink,grapheme_link
113
131
  greek,greek
114
132
  gujarati,gujarati
115
133
  gunjalagondi,gunjala_gondi
116
134
  gurmukhi,gurmukhi
135
+ gurungkhema,gurung_khema
117
136
  han,han
118
137
  hangul,hangul
119
138
  hanifirohingya,hanifi_rohingya
@@ -123,11 +142,14 @@ hebrew,hebrew
123
142
  hexdigit,hex_digit
124
143
  hiragana,hiragana
125
144
  hyphen,hyphen
145
+ idcompatmathcontinue,id_compat_math_continue
146
+ idcompatmathstart,id_compat_math_start
126
147
  idcontinue,id_continue
127
148
  ideographic,ideographic
128
149
  idsbinaryoperator,ids_binary_operator
129
150
  idstart,id_start
130
151
  idstrinaryoperator,ids_trinary_operator
152
+ idsunaryoperator,ids_unary_operator
131
153
  imperialaramaic,imperial_aramaic
132
154
  inadlam,in_adlam
133
155
  inaegeannumbers,in_aegean_numbers
@@ -156,6 +178,7 @@ inbasiclatin,in_basic_latin
156
178
  inbassavah,in_bassa_vah
157
179
  inbatak,in_batak
158
180
  inbengali,in_bengali
181
+ inberiaerfe,in_beria_erfe
159
182
  inbhaiksuki,in_bhaiksuki
160
183
  inblockelements,in_block_elements
161
184
  inbopomofo,in_bopomofo
@@ -190,6 +213,8 @@ incjkunifiedideographsextensione,in_cjk_unified_ideographs_extension_e
190
213
  incjkunifiedideographsextensionf,in_cjk_unified_ideographs_extension_f
191
214
  incjkunifiedideographsextensiong,in_cjk_unified_ideographs_extension_g
192
215
  incjkunifiedideographsextensionh,in_cjk_unified_ideographs_extension_h
216
+ incjkunifiedideographsextensioni,in_cjk_unified_ideographs_extension_i
217
+ incjkunifiedideographsextensionj,in_cjk_unified_ideographs_extension_j
193
218
  incombiningdiacriticalmarks,in_combining_diacritical_marks
194
219
  incombiningdiacriticalmarksextended,in_combining_diacritical_marks_extended
195
220
  incombiningdiacriticalmarksforsymbols,in_combining_diacritical_marks_for_symbols
@@ -223,6 +248,7 @@ induployan,in_duployan
223
248
  inearlydynasticcuneiform,in_early_dynastic_cuneiform
224
249
  inegyptianhieroglyphformatcontrols,in_egyptian_hieroglyph_format_controls
225
250
  inegyptianhieroglyphs,in_egyptian_hieroglyphs
251
+ inegyptianhieroglyphsextendeda,in_egyptian_hieroglyphs_extended_a
226
252
  inelbasan,in_elbasan
227
253
  inelymaic,in_elymaic
228
254
  inemoticons,in_emoticons
@@ -235,6 +261,7 @@ inethiopicextended,in_ethiopic_extended
235
261
  inethiopicextendeda,in_ethiopic_extended_a
236
262
  inethiopicextendedb,in_ethiopic_extended_b
237
263
  inethiopicsupplement,in_ethiopic_supplement
264
+ ingaray,in_garay
238
265
  ingeneralpunctuation,in_general_punctuation
239
266
  ingeometricshapes,in_geometric_shapes
240
267
  ingeometricshapesextended,in_geometric_shapes_extended
@@ -250,6 +277,7 @@ ingreekextended,in_greek_extended
250
277
  ingujarati,in_gujarati
251
278
  ingunjalagondi,in_gunjala_gondi
252
279
  ingurmukhi,in_gurmukhi
280
+ ingurungkhema,in_gurung_khema
253
281
  inhalfwidthandfullwidthforms,in_halfwidth_and_fullwidth_forms
254
282
  inhangulcompatibilityjamo,in_hangul_compatibility_jamo
255
283
  inhanguljamo,in_hangul_jamo
@@ -291,6 +319,7 @@ inkhmer,in_khmer
291
319
  inkhmersymbols,in_khmer_symbols
292
320
  inkhojki,in_khojki
293
321
  inkhudawadi,in_khudawadi
322
+ inkiratrai,in_kirat_rai
294
323
  inlao,in_lao
295
324
  inlatin1supplement,in_latin_1_supplement
296
325
  inlatinextendeda,in_latin_extended_a
@@ -335,6 +364,7 @@ inmiscellaneousmathematicalsymbolsb,in_miscellaneous_mathematical_symbols_b
335
364
  inmiscellaneoussymbols,in_miscellaneous_symbols
336
365
  inmiscellaneoussymbolsandarrows,in_miscellaneous_symbols_and_arrows
337
366
  inmiscellaneoussymbolsandpictographs,in_miscellaneous_symbols_and_pictographs
367
+ inmiscellaneoussymbolssupplement,in_miscellaneous_symbols_supplement
338
368
  inmiscellaneoustechnical,in_miscellaneous_technical
339
369
  inmodi,in_modi
340
370
  inmodifiertoneletters,in_modifier_tone_letters
@@ -346,6 +376,7 @@ inmusicalsymbols,in_musical_symbols
346
376
  inmyanmar,in_myanmar
347
377
  inmyanmarextendeda,in_myanmar_extended_a
348
378
  inmyanmarextendedb,in_myanmar_extended_b
379
+ inmyanmarextendedc,in_myanmar_extended_c
349
380
  innabataean,in_nabataean
350
381
  innagmundari,in_nag_mundari
351
382
  innandinagari,in_nandinagari
@@ -367,6 +398,7 @@ inoldsogdian,in_old_sogdian
367
398
  inoldsoutharabian,in_old_south_arabian
368
399
  inoldturkic,in_old_turkic
369
400
  inolduyghur,in_old_uyghur
401
+ inolonal,in_ol_onal
370
402
  inopticalcharacterrecognition,in_optical_character_recognition
371
403
  inoriya,in_oriya
372
404
  inornamentaldingbats,in_ornamental_dingbats
@@ -392,9 +424,11 @@ insaurashtra,in_saurashtra
392
424
  inscriptionalpahlavi,inscriptional_pahlavi
393
425
  inscriptionalparthian,inscriptional_parthian
394
426
  insharada,in_sharada
427
+ insharadasupplement,in_sharada_supplement
395
428
  inshavian,in_shavian
396
429
  inshorthandformatcontrols,in_shorthand_format_controls
397
430
  insiddham,in_siddham
431
+ insidetic,in_sidetic
398
432
  insinhala,in_sinhala
399
433
  insinhalaarchaicnumbers,in_sinhala_archaic_numbers
400
434
  insmallformvariants,in_small_form_variants
@@ -406,6 +440,7 @@ inspacingmodifierletters,in_spacing_modifier_letters
406
440
  inspecials,in_specials
407
441
  insundanese,in_sundanese
408
442
  insundanesesupplement,in_sundanese_supplement
443
+ insunuwar,in_sunuwar
409
444
  insuperscriptsandsubscripts,in_superscripts_and_subscripts
410
445
  insupplementalarrowsa,in_supplemental_arrows_a
411
446
  insupplementalarrowsb,in_supplemental_arrows_b
@@ -419,6 +454,7 @@ insuttonsignwriting,in_sutton_signwriting
419
454
  insylotinagri,in_syloti_nagri
420
455
  insymbolsandpictographsextendeda,in_symbols_and_pictographs_extended_a
421
456
  insymbolsforlegacycomputing,in_symbols_for_legacy_computing
457
+ insymbolsforlegacycomputingsupplement,in_symbols_for_legacy_computing_supplement
422
458
  insyriac,in_syriac
423
459
  insyriacsupplement,in_syriac_supplement
424
460
  intagalog,in_tagalog
@@ -428,12 +464,14 @@ intaile,in_tai_le
428
464
  intaitham,in_tai_tham
429
465
  intaiviet,in_tai_viet
430
466
  intaixuanjingsymbols,in_tai_xuan_jing_symbols
467
+ intaiyo,in_tai_yo
431
468
  intakri,in_takri
432
469
  intamil,in_tamil
433
470
  intamilsupplement,in_tamil_supplement
434
471
  intangsa,in_tangsa
435
472
  intangut,in_tangut
436
473
  intangutcomponents,in_tangut_components
474
+ intangutcomponentssupplement,in_tangut_components_supplement
437
475
  intangutsupplement,in_tangut_supplement
438
476
  intelugu,in_telugu
439
477
  inthaana,in_thaana
@@ -441,8 +479,11 @@ inthai,in_thai
441
479
  intibetan,in_tibetan
442
480
  intifinagh,in_tifinagh
443
481
  intirhuta,in_tirhuta
482
+ intodhri,in_todhri
483
+ intolongsiki,in_tolong_siki
444
484
  intoto,in_toto
445
485
  intransportandmapsymbols,in_transport_and_map_symbols
486
+ intulutigalari,in_tulu_tigalari
446
487
  inugaritic,in_ugaritic
447
488
  inunifiedcanadianaboriginalsyllabics,in_unified_canadian_aboriginal_syllabics
448
489
  inunifiedcanadianaboriginalsyllabicsextended,in_unified_canadian_aboriginal_syllabics_extended
@@ -473,6 +514,7 @@ khitansmallscript,khitan_small_script
473
514
  khmer,khmer
474
515
  khojki,khojki
475
516
  khudawadi,khudawadi
517
+ kiratrai,kirat_rai
476
518
  lao,lao
477
519
  latin,latin
478
520
  lepcha,lepcha
@@ -506,6 +548,7 @@ meroiticcursive,meroitic_cursive
506
548
  meroitichieroglyphs,meroitic_hieroglyphs
507
549
  miao,miao
508
550
  modi,modi
551
+ modifiercombiningmark,modifier_combining_mark
509
552
  modifierletter,modifier_letter
510
553
  modifiersymbol,modifier_symbol
511
554
  mongolian,mongolian
@@ -535,6 +578,7 @@ oldsogdian,old_sogdian
535
578
  oldsoutharabian,old_south_arabian
536
579
  oldturkic,old_turkic
537
580
  olduyghur,old_uyghur
581
+ olonal,ol_onal
538
582
  openpunctuation,open_punctuation
539
583
  oriya,oriya
540
584
  osage,osage
@@ -578,6 +622,7 @@ separator,separator
578
622
  sharada,sharada
579
623
  shavian,shavian
580
624
  siddham,siddham
625
+ sidetic,sidetic
581
626
  signwriting,signwriting
582
627
  sinhala,sinhala
583
628
  softdotted,soft_dotted
@@ -588,6 +633,7 @@ space,space
588
633
  spaceseparator,space_separator
589
634
  spacingmark,spacing_mark
590
635
  sundanese,sundanese
636
+ sunuwar,sunuwar
591
637
  surrogate,surrogate
592
638
  sylotinagri,syloti_nagri
593
639
  symbol,symbol
@@ -597,6 +643,7 @@ tagbanwa,tagbanwa
597
643
  taile,tai_le
598
644
  taitham,tai_tham
599
645
  taiviet,tai_viet
646
+ taiyo,tai_yo
600
647
  takri,takri
601
648
  tamil,tamil
602
649
  tangsa,tangsa
@@ -609,7 +656,10 @@ tibetan,tibetan
609
656
  tifinagh,tifinagh
610
657
  tirhuta,tirhuta
611
658
  titlecaseletter,titlecase_letter
659
+ todhri,todhri
660
+ tolongsiki,tolong_siki
612
661
  toto,toto
662
+ tulutigalari,tulu_tigalari
613
663
  ugaritic,ugaritic
614
664
  unassigned,unassigned
615
665
  unifiedideograph,unified_ideograph
@@ -11,6 +11,7 @@ bamu,bamum
11
11
  bass,bassa_vah
12
12
  batk,batak
13
13
  beng,bengali
14
+ berf,beria_erfe
14
15
  bhks,bhaiksuki
15
16
  bidic,bidi_control
16
17
  bopo,bopomofo
@@ -58,6 +59,7 @@ epres,emoji_presentation
58
59
  ethi,ethiopic
59
60
  ext,extender
60
61
  extpict,extended_pictographic
62
+ gara,garay
61
63
  geor,georgian
62
64
  glag,glagolitic
63
65
  gong,gunjala_gondi
@@ -69,6 +71,7 @@ grek,greek
69
71
  grext,grapheme_extend
70
72
  grlink,grapheme_link
71
73
  gujr,gujarati
74
+ gukh,gurung_khema
72
75
  guru,gurmukhi
73
76
  hang,hangul
74
77
  hani,han
@@ -86,6 +89,7 @@ ideo,ideographic
86
89
  ids,id_start
87
90
  idsb,ids_binary_operator
88
91
  idst,ids_trinary_operator
92
+ idsu,ids_unary_operator
89
93
  ital,old_italic
90
94
  java,javanese
91
95
  joinc,join_control
@@ -96,6 +100,7 @@ khmr,khmer
96
100
  khoj,khojki
97
101
  kits,khitan_small_script
98
102
  knda,kannada
103
+ krai,kirat_rai
99
104
  kthi,kaithi
100
105
  l,letter
101
106
  lana,tai_tham
@@ -121,6 +126,7 @@ mand,mandaic
121
126
  mani,manichaean
122
127
  marc,marchen
123
128
  mc,spacing_mark
129
+ mcm,modifier_combining_mark
124
130
  me,enclosing_mark
125
131
  medf,medefaidrin
126
132
  mend,mende_kikakui
@@ -153,6 +159,7 @@ oids,other_id_start
153
159
  olck,ol_chiki
154
160
  olower,other_lowercase
155
161
  omath,other_math
162
+ onao,ol_onal
156
163
  orkh,old_turkic
157
164
  orya,oriya
158
165
  osge,osage
@@ -196,6 +203,7 @@ sgnw,signwriting
196
203
  shaw,shavian
197
204
  shrd,sharada
198
205
  sidd,siddham
206
+ sidt,sidetic
199
207
  sind,khudawadi
200
208
  sinh,sinhala
201
209
  sk,modifier_symbol
@@ -207,6 +215,7 @@ sora,sora_sompeng
207
215
  soyo,soyombo
208
216
  sterm,sentence_terminal
209
217
  sund,sundanese
218
+ sunu,sunuwar
210
219
  sylo,syloti_nagri
211
220
  syrc,syriac
212
221
  tagb,tagbanwa
@@ -216,6 +225,7 @@ talu,new_tai_lue
216
225
  taml,tamil
217
226
  tang,tangut
218
227
  tavt,tai_viet
228
+ tayo,tai_yo
219
229
  telu,telugu
220
230
  term,terminal_punctuation
221
231
  tfng,tifinagh
@@ -224,6 +234,9 @@ thaa,thaana
224
234
  tibt,tibetan
225
235
  tirh,tirhuta
226
236
  tnsa,tangsa
237
+ todr,todhri
238
+ tols,tolong_siki
239
+ tutg,tulu_tigalari
227
240
  ugar,ugaritic
228
241
  uideo,unified_ideograph
229
242
  vaii,vai