ucode 0.2.3 → 0.3.1

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/config/unicode17_universal_glyph_set.yml +1 -1
  3. data/lib/ucode/cli.rb +12 -0
  4. data/lib/ucode/code_chart/extractor.rb +1 -9
  5. data/lib/ucode/code_chart/writer.rb +1 -1
  6. data/lib/ucode/commands/canonical_build.rb +4 -4
  7. data/lib/ucode/commands/emit_metadata.rb +62 -0
  8. data/lib/ucode/commands/universal_set.rb +5 -3
  9. data/lib/ucode/commands.rb +1 -0
  10. data/lib/ucode/coordinator/enrichment/bidi.rb +35 -0
  11. data/lib/ucode/coordinator/enrichment/binary.rb +38 -0
  12. data/lib/ucode/coordinator/enrichment/casing.rb +55 -0
  13. data/lib/ucode/coordinator/enrichment/cjk.rb +49 -0
  14. data/lib/ucode/coordinator/enrichment/display.rb +36 -0
  15. data/lib/ucode/coordinator/enrichment/emoji.rb +36 -0
  16. data/lib/ucode/coordinator/enrichment/identity.rb +42 -0
  17. data/lib/ucode/coordinator/enrichment/indic.rb +32 -0
  18. data/lib/ucode/coordinator/enrichment/names.rb +63 -0
  19. data/lib/ucode/coordinator/enrichment/segmentation.rb +34 -0
  20. data/lib/ucode/coordinator/enrichment.rb +51 -0
  21. data/lib/ucode/coordinator/range_lookup.rb +65 -0
  22. data/lib/ucode/coordinator.rb +4 -276
  23. data/lib/ucode/error.rb +5 -0
  24. data/lib/ucode/glyphs/embedded_fonts/catalog.rb +32 -376
  25. data/lib/ucode/glyphs/embedded_fonts/codepoint_mapper.rb +130 -0
  26. data/lib/ucode/glyphs/embedded_fonts/content_stream_correlator.rb +25 -124
  27. data/lib/ucode/glyphs/embedded_fonts/font_entry.rb +0 -1
  28. data/lib/ucode/glyphs/embedded_fonts/pdf_indexer.rb +236 -0
  29. data/lib/ucode/glyphs/embedded_fonts/{source.rb → pdf_location.rb} +5 -5
  30. data/lib/ucode/glyphs/embedded_fonts/positional_matcher.rb +162 -0
  31. data/lib/ucode/glyphs/embedded_fonts/raw_font_descriptor.rb +24 -0
  32. data/lib/ucode/glyphs/embedded_fonts/renderer.rb +0 -2
  33. data/lib/ucode/glyphs/embedded_fonts/trace_correlator.rb +54 -168
  34. data/lib/ucode/glyphs/embedded_fonts/writer.rb +0 -4
  35. data/lib/ucode/glyphs/embedded_fonts.rb +5 -1
  36. data/lib/ucode/glyphs/resolver_factory.rb +45 -0
  37. data/lib/ucode/glyphs/sources/pillar1_embedded_tounicode.rb +1 -1
  38. data/lib/ucode/glyphs.rb +1 -0
  39. data/lib/ucode/unicode/block.rb +28 -0
  40. data/lib/ucode/unicode/catalog.rb +135 -0
  41. data/lib/ucode/unicode/metadata/v15_0_0.rb +354 -0
  42. data/lib/ucode/unicode/metadata/v15_1_0.rb +355 -0
  43. data/lib/ucode/unicode/metadata/v16_0_0.rb +365 -0
  44. data/lib/ucode/unicode/metadata/v17_0_0.rb +374 -0
  45. data/lib/ucode/unicode/metadata_writer.rb +136 -0
  46. data/lib/ucode/unicode/plane.rb +23 -0
  47. data/lib/ucode/unicode.rb +85 -0
  48. data/lib/ucode/version.rb +1 -1
  49. data/lib/ucode.rb +2 -0
  50. metadata +30 -3
data/lib/ucode.rb CHANGED
@@ -35,6 +35,7 @@ module Ucode
35
35
  autoload :LastResortMissingError, "ucode/error"
36
36
  autoload :EmbeddedFontsMissingError, "ucode/error"
37
37
  autoload :CodeChartNotFoundError, "ucode/error"
38
+ autoload :UnknownUnicodeVersionError, "ucode/error"
38
39
 
39
40
  # Infrastructure
40
41
  autoload :Cache, "ucode/cache"
@@ -55,6 +56,7 @@ module Ucode
55
56
  autoload :Glyphs, "ucode/glyphs"
56
57
  autoload :Audit, "ucode/audit"
57
58
  autoload :CodeChart, "ucode/code_chart"
59
+ autoload :Unicode, "ucode/unicode"
58
60
  autoload :Site, "ucode/site"
59
61
  autoload :Commands, "ucode/commands"
60
62
  autoload :Cli, "ucode/cli"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-02 00:00:00.000000000 Z
11
+ date: 2026-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -319,6 +319,7 @@ files:
319
319
  - lib/ucode/commands/build.rb
320
320
  - lib/ucode/commands/cache.rb
321
321
  - lib/ucode/commands/canonical_build.rb
322
+ - lib/ucode/commands/emit_metadata.rb
322
323
  - lib/ucode/commands/fetch.rb
323
324
  - lib/ucode/commands/font_coverage.rb
324
325
  - lib/ucode/commands/lookup.rb
@@ -328,7 +329,19 @@ files:
328
329
  - lib/ucode/commands/universal_set.rb
329
330
  - lib/ucode/config.rb
330
331
  - lib/ucode/coordinator.rb
332
+ - lib/ucode/coordinator/enrichment.rb
333
+ - lib/ucode/coordinator/enrichment/bidi.rb
334
+ - lib/ucode/coordinator/enrichment/binary.rb
335
+ - lib/ucode/coordinator/enrichment/casing.rb
336
+ - lib/ucode/coordinator/enrichment/cjk.rb
337
+ - lib/ucode/coordinator/enrichment/display.rb
338
+ - lib/ucode/coordinator/enrichment/emoji.rb
339
+ - lib/ucode/coordinator/enrichment/identity.rb
340
+ - lib/ucode/coordinator/enrichment/indic.rb
341
+ - lib/ucode/coordinator/enrichment/names.rb
342
+ - lib/ucode/coordinator/enrichment/segmentation.rb
331
343
  - lib/ucode/coordinator/indices.rb
344
+ - lib/ucode/coordinator/range_lookup.rb
332
345
  - lib/ucode/database.rb
333
346
  - lib/ucode/db_builder.rb
334
347
  - lib/ucode/error.rb
@@ -343,10 +356,14 @@ files:
343
356
  - lib/ucode/glyphs.rb
344
357
  - lib/ucode/glyphs/embedded_fonts.rb
345
358
  - lib/ucode/glyphs/embedded_fonts/catalog.rb
359
+ - lib/ucode/glyphs/embedded_fonts/codepoint_mapper.rb
346
360
  - lib/ucode/glyphs/embedded_fonts/content_stream_correlator.rb
347
361
  - lib/ucode/glyphs/embedded_fonts/font_entry.rb
362
+ - lib/ucode/glyphs/embedded_fonts/pdf_indexer.rb
363
+ - lib/ucode/glyphs/embedded_fonts/pdf_location.rb
364
+ - lib/ucode/glyphs/embedded_fonts/positional_matcher.rb
365
+ - lib/ucode/glyphs/embedded_fonts/raw_font_descriptor.rb
348
366
  - lib/ucode/glyphs/embedded_fonts/renderer.rb
349
- - lib/ucode/glyphs/embedded_fonts/source.rb
350
367
  - lib/ucode/glyphs/embedded_fonts/svg.rb
351
368
  - lib/ucode/glyphs/embedded_fonts/tounicode.rb
352
369
  - lib/ucode/glyphs/embedded_fonts/trace_correlator.rb
@@ -372,6 +389,7 @@ files:
372
389
  - lib/ucode/glyphs/real_fonts/unicode_17_blocks.rb
373
390
  - lib/ucode/glyphs/real_fonts/writer.rb
374
391
  - lib/ucode/glyphs/resolver.rb
392
+ - lib/ucode/glyphs/resolver_factory.rb
375
393
  - lib/ucode/glyphs/source.rb
376
394
  - lib/ucode/glyphs/source_builder.rb
377
395
  - lib/ucode/glyphs/source_config.rb
@@ -528,6 +546,15 @@ files:
528
546
  - lib/ucode/site/template/index.md
529
547
  - lib/ucode/site/template/package.json
530
548
  - lib/ucode/site/template/search.md
549
+ - lib/ucode/unicode.rb
550
+ - lib/ucode/unicode/block.rb
551
+ - lib/ucode/unicode/catalog.rb
552
+ - lib/ucode/unicode/metadata/v15_0_0.rb
553
+ - lib/ucode/unicode/metadata/v15_1_0.rb
554
+ - lib/ucode/unicode/metadata/v16_0_0.rb
555
+ - lib/ucode/unicode/metadata/v17_0_0.rb
556
+ - lib/ucode/unicode/metadata_writer.rb
557
+ - lib/ucode/unicode/plane.rb
531
558
  - lib/ucode/version.rb
532
559
  - lib/ucode/version_resolver.rb
533
560
  - schema/block-feed.output.schema.yml