fontisan 0.4.11 → 0.4.13

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +27 -1
  3. data/docs/AFDKO_MIGRATION.adoc +175 -0
  4. data/docs/FEATURE_PARITY.adoc +263 -0
  5. data/docs/STITCHER_GUIDE.adoc +100 -6
  6. data/docs/TTX.adoc +176 -0
  7. data/docs/UFO_COMPILATION.adoc +281 -3
  8. data/lib/fontisan/converters/woff2_encoder.rb +147 -242
  9. data/lib/fontisan/sfnt_font.rb +7 -2
  10. data/lib/fontisan/stitcher/source.rb +11 -7
  11. data/lib/fontisan/subset/table_subsetter.rb +104 -6
  12. data/lib/fontisan/svg/standalone_glyph.rb +129 -0
  13. data/lib/fontisan/svg.rb +1 -0
  14. data/lib/fontisan/tables/head.rb +10 -0
  15. data/lib/fontisan/ufo/cli.rb +34 -21
  16. data/lib/fontisan/ufo/compile/feature_writers/base.rb +56 -0
  17. data/lib/fontisan/ufo/compile/feature_writers/curs.rb +72 -0
  18. data/lib/fontisan/ufo/compile/feature_writers/gdef.rb +90 -0
  19. data/lib/fontisan/ufo/compile/feature_writers/kern.rb +51 -0
  20. data/lib/fontisan/ufo/compile/feature_writers/kern2.rb +57 -0
  21. data/lib/fontisan/ufo/compile/feature_writers/mark.rb +45 -0
  22. data/lib/fontisan/ufo/compile/feature_writers/mark_family_base.rb +122 -0
  23. data/lib/fontisan/ufo/compile/feature_writers/mkmk.rb +53 -0
  24. data/lib/fontisan/ufo/compile/feature_writers.rb +37 -0
  25. data/lib/fontisan/ufo/compile/filters/propagate_anchors.rb +102 -0
  26. data/lib/fontisan/ufo/compile/filters/remove_overlaps.rb +94 -0
  27. data/lib/fontisan/ufo/compile/filters/sort_contours.rb +69 -0
  28. data/lib/fontisan/ufo/compile/filters/transformations.rb +113 -0
  29. data/lib/fontisan/ufo/compile/filters.rb +12 -0
  30. data/lib/fontisan/ufo/compile.rb +1 -0
  31. data/lib/fontisan/ufo/convert/to_dfont.rb +41 -0
  32. data/lib/fontisan/ufo/convert/to_otc.rb +37 -0
  33. data/lib/fontisan/ufo/convert/to_otf.rb +18 -0
  34. data/lib/fontisan/ufo/convert/to_otf2.rb +20 -0
  35. data/lib/fontisan/ufo/convert/to_postscript.rb +59 -0
  36. data/lib/fontisan/ufo/convert/to_ttc.rb +35 -0
  37. data/lib/fontisan/ufo/convert/to_ttf.rb +21 -0
  38. data/lib/fontisan/ufo/convert/to_woff.rb +56 -0
  39. data/lib/fontisan/ufo/convert/to_woff2.rb +45 -0
  40. data/lib/fontisan/ufo/convert.rb +68 -5
  41. data/lib/fontisan/ufo/transformation.rb +11 -0
  42. data/lib/fontisan/version.rb +1 -1
  43. data/lib/fontisan/woff2/directory.rb +37 -40
  44. data/lib/fontisan/woff2/encoder_rules.rb +66 -0
  45. data/lib/fontisan/woff2/glyf_loca_transform.rb +323 -0
  46. data/lib/fontisan/woff2/triplet_codec.rb +181 -0
  47. data/lib/fontisan/woff2.rb +3 -0
  48. data/lib/fontisan/woff_font.rb +5 -2
  49. metadata +30 -1
@@ -248,9 +248,12 @@ module Fontisan
248
248
 
249
249
  # Get list of all table tags
250
250
  #
251
- # @return [Array<String>] Array of table tag strings
251
+ # Returns plain UTF-8 Ruby Strings so callers can compare with literals
252
+ # without BinData::String encoding-sensitive eql? failures.
253
+ #
254
+ # @return [Array<String>] Array of table tag strings (UTF-8)
252
255
  def table_names
253
- table_entries.map(&:tag)
256
+ table_entries.map { |entry| entry.tag.to_s.force_encoding("UTF-8") }
254
257
  end
255
258
 
256
259
  # Get parsed table instance
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontisan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.4.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -144,15 +144,18 @@ files:
144
144
  - docs/.vitepress/theme/components/WithinHero.vue
145
145
  - docs/.vitepress/theme/index.ts
146
146
  - docs/.vitepress/theme/style.css
147
+ - docs/AFDKO_MIGRATION.adoc
147
148
  - docs/APPLE_LEGACY_FONTS.adoc
148
149
  - docs/CFF2_SUPPORT.adoc
149
150
  - docs/COLLECTION_VALIDATION.adoc
150
151
  - docs/COLOR_FONTS.adoc
151
152
  - docs/CONVERSION_GUIDE.adoc
152
153
  - docs/EXTRACT_TTC_MIGRATION.md
154
+ - docs/FEATURE_PARITY.adoc
153
155
  - docs/FONT_HINTING.adoc
154
156
  - docs/STITCHER_GUIDE.adoc
155
157
  - docs/SVG_TO_GLYF.adoc
158
+ - docs/TTX.adoc
156
159
  - docs/TYPE1_FONTS.adoc
157
160
  - docs/UFO_COMPILATION.adoc
158
161
  - docs/VALIDATION.adoc
@@ -460,6 +463,7 @@ files:
460
463
  - lib/fontisan/svg/font_face_generator.rb
461
464
  - lib/fontisan/svg/font_generator.rb
462
465
  - lib/fontisan/svg/glyph_generator.rb
466
+ - lib/fontisan/svg/standalone_glyph.rb
463
467
  - lib/fontisan/svg/view_box_calculator.rb
464
468
  - lib/fontisan/svg_to_glyf.rb
465
469
  - lib/fontisan/svg_to_glyf/assembler.rb
@@ -591,11 +595,24 @@ files:
591
595
  - lib/fontisan/ufo/compile/cmap.rb
592
596
  - lib/fontisan/ufo/compile/colr.rb
593
597
  - lib/fontisan/ufo/compile/cpal.rb
598
+ - lib/fontisan/ufo/compile/feature_writers.rb
599
+ - lib/fontisan/ufo/compile/feature_writers/base.rb
600
+ - lib/fontisan/ufo/compile/feature_writers/curs.rb
601
+ - lib/fontisan/ufo/compile/feature_writers/gdef.rb
602
+ - lib/fontisan/ufo/compile/feature_writers/kern.rb
603
+ - lib/fontisan/ufo/compile/feature_writers/kern2.rb
604
+ - lib/fontisan/ufo/compile/feature_writers/mark.rb
605
+ - lib/fontisan/ufo/compile/feature_writers/mark_family_base.rb
606
+ - lib/fontisan/ufo/compile/feature_writers/mkmk.rb
594
607
  - lib/fontisan/ufo/compile/filters.rb
595
608
  - lib/fontisan/ufo/compile/filters/cubic_to_quadratic.rb
596
609
  - lib/fontisan/ufo/compile/filters/decompose_components.rb
597
610
  - lib/fontisan/ufo/compile/filters/flatten_components.rb
611
+ - lib/fontisan/ufo/compile/filters/propagate_anchors.rb
612
+ - lib/fontisan/ufo/compile/filters/remove_overlaps.rb
598
613
  - lib/fontisan/ufo/compile/filters/reverse_contour_direction.rb
614
+ - lib/fontisan/ufo/compile/filters/sort_contours.rb
615
+ - lib/fontisan/ufo/compile/filters/transformations.rb
599
616
  - lib/fontisan/ufo/compile/fvar.rb
600
617
  - lib/fontisan/ufo/compile/glyf_loca.rb
601
618
  - lib/fontisan/ufo/compile/gpos.rb
@@ -624,6 +641,15 @@ files:
624
641
  - lib/fontisan/ufo/contour.rb
625
642
  - lib/fontisan/ufo/convert.rb
626
643
  - lib/fontisan/ufo/convert/from_bin_data.rb
644
+ - lib/fontisan/ufo/convert/to_dfont.rb
645
+ - lib/fontisan/ufo/convert/to_otc.rb
646
+ - lib/fontisan/ufo/convert/to_otf.rb
647
+ - lib/fontisan/ufo/convert/to_otf2.rb
648
+ - lib/fontisan/ufo/convert/to_postscript.rb
649
+ - lib/fontisan/ufo/convert/to_ttc.rb
650
+ - lib/fontisan/ufo/convert/to_ttf.rb
651
+ - lib/fontisan/ufo/convert/to_woff.rb
652
+ - lib/fontisan/ufo/convert/to_woff2.rb
627
653
  - lib/fontisan/ufo/data_set.rb
628
654
  - lib/fontisan/ufo/features.rb
629
655
  - lib/fontisan/ufo/font.rb
@@ -693,10 +719,13 @@ files:
693
719
  - lib/fontisan/version.rb.orig
694
720
  - lib/fontisan/woff2.rb
695
721
  - lib/fontisan/woff2/directory.rb
722
+ - lib/fontisan/woff2/encoder_rules.rb
723
+ - lib/fontisan/woff2/glyf_loca_transform.rb
696
724
  - lib/fontisan/woff2/glyf_transformer.rb
697
725
  - lib/fontisan/woff2/header.rb
698
726
  - lib/fontisan/woff2/hmtx_transformer.rb
699
727
  - lib/fontisan/woff2/table_transformer.rb
728
+ - lib/fontisan/woff2/triplet_codec.rb
700
729
  - lib/fontisan/woff2_font.rb
701
730
  - lib/fontisan/woff_font.rb
702
731
  - scripts/compare_stack_aware.rb