foundrytools-cli 1.1.18__tar.gz → 1.1.21__tar.gz

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 (68) hide show
  1. {foundrytools_cli-1.1.18/foundrytools_cli.egg-info → foundrytools_cli-1.1.21}/PKG-INFO +6 -6
  2. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_converter.py +11 -1
  3. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/Font.py +11 -5
  4. foundrytools_cli-1.1.21/foundryToolsCLI/__init__.py +3 -0
  5. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21/foundrytools_cli.egg-info}/PKG-INFO +6 -6
  6. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/requires.txt +5 -5
  7. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/requirements.txt +5 -5
  8. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/setup.py +1 -1
  9. foundrytools_cli-1.1.18/foundryToolsCLI/__init__.py +0 -3
  10. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/LICENSE +0 -0
  11. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/MANIFEST.in +0 -0
  12. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/README.md +0 -0
  13. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/__init__.py +0 -0
  14. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_assistant.py +0 -0
  15. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_cff.py +0 -0
  16. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_fix.py +0 -0
  17. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_hhea.py +0 -0
  18. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_metrics.py +0 -0
  19. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_name.py +0 -0
  20. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_os2.py +0 -0
  21. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_otf.py +0 -0
  22. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_post.py +0 -0
  23. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_print.py +0 -0
  24. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_ttf.py +0 -0
  25. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/CLI/ftcli_utils.py +0 -0
  26. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/VFont.py +0 -0
  27. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/__init__.py +0 -0
  28. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/assistant/UI.py +0 -0
  29. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/assistant/__init__.py +0 -0
  30. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/assistant/fonts_data.py +0 -0
  31. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/assistant/styles_mapping.py +0 -0
  32. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/constants.py +0 -0
  33. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/__init__.py +0 -0
  34. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/options.py +0 -0
  35. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/otf_to_ttf.py +0 -0
  36. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/sfnt_to_web.py +0 -0
  37. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/ttc_to_sfnt.py +0 -0
  38. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/ttf_to_otf.py +0 -0
  39. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/variable_to_static.py +0 -0
  40. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/converters/web_to_sfnt.py +0 -0
  41. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/printer/UI.py +0 -0
  42. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/printer/__init__.py +0 -0
  43. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/CFF_.py +0 -0
  44. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/OS_2.py +0 -0
  45. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/__init__.py +0 -0
  46. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/head.py +0 -0
  47. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/hhea.py +0 -0
  48. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/name.py +0 -0
  49. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/tables/post.py +0 -0
  50. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/__init__.py +0 -0
  51. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/bits_tools.py +0 -0
  52. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/cli_tools.py +0 -0
  53. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/click_tools.py +0 -0
  54. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/logger.py +0 -0
  55. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/otf_tools.py +0 -0
  56. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/ps_recalc_stems.py +0 -0
  57. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/ps_recalc_zones.py +0 -0
  58. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/skia_tools.py +0 -0
  59. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/text_tools.py +0 -0
  60. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/timer.py +0 -0
  61. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/Lib/utils/ttf_tools.py +0 -0
  62. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundryToolsCLI/__main__.py +0 -0
  63. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/SOURCES.txt +0 -0
  64. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/dependency_links.txt +0 -0
  65. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/entry_points.txt +0 -0
  66. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/not-zip-safe +0 -0
  67. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/foundrytools_cli.egg-info/top_level.txt +0 -0
  68. {foundrytools_cli-1.1.18 → foundrytools_cli-1.1.21}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: foundrytools-cli
3
- Version: 1.1.18
3
+ Version: 1.1.21
4
4
  Summary: A set of command line tools to inspect, manipulate and convert font files
5
5
  Home-page: https://github.com/ftCLI/FoundryTools-CLI
6
6
  Author: ftCLI
@@ -10,18 +10,18 @@ Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: afdko>=4.0.1
14
- Requires-Dist: fonttools>=4.54.0
13
+ Requires-Dist: afdko>=4.0.2
14
+ Requires-Dist: fonttools>=4.55.1
15
15
  Requires-Dist: brotli>=1.1.0
16
16
  Requires-Dist: click>=8.1.7
17
17
  Requires-Dist: cffsubr>=0.3.0
18
18
  Requires-Dist: dehinter>=4.0.0
19
19
  Requires-Dist: loguru>=0.7.2
20
20
  Requires-Dist: pathvalidate>=3.2.1
21
- Requires-Dist: rich>=13.8.1
22
- Requires-Dist: skia-pathops>=0.8.0.post1
21
+ Requires-Dist: rich>=13.9.4
22
+ Requires-Dist: skia-pathops>=0.8.0.post2
23
23
  Requires-Dist: ttfautohint-py>=0.5.1
24
- Requires-Dist: zopfli>=0.2.3
24
+ Requires-Dist: zopfli>=0.2.3.post1
25
25
 
26
26
  # FoundryTools-CLI
27
27
  FoundryTools-CLI, former known as ftCLI, is a collection of command line tools written in Python to inspect, manipulate
@@ -141,6 +141,15 @@ def otf2ttf(
141
141
  for a single instance.
142
142
  """,
143
143
  )
144
+ @click.option(
145
+ "-h",
146
+ "--hidden-axes",
147
+ is_flag=True,
148
+ default=False,
149
+ help="""
150
+ Use this option to include hidden axes in the list of available axes.
151
+ """
152
+ )
144
153
  @click.option(
145
154
  "--no-cleanup",
146
155
  "cleanup",
@@ -166,6 +175,7 @@ def otf2ttf(
166
175
  @Timer(logger=logger.info)
167
176
  def vf2i(
168
177
  input_path: Path,
178
+ hidden_axes: bool = False,
169
179
  select_instance: bool = False,
170
180
  cleanup: bool = True,
171
181
  update_name_table: bool = True,
@@ -199,7 +209,7 @@ def vf2i(
199
209
 
200
210
  instances = variable_font.get_instances()
201
211
  if select_instance:
202
- axes = variable_font.get_axes()
212
+ axes = variable_font.get_axes(hidden_axes=hidden_axes)
203
213
  selected_coordinates = select_instance_coordinates(axes)
204
214
  is_named_instance = selected_coordinates in [i.coordinates for i in instances]
205
215
  if not is_named_instance:
@@ -652,13 +652,16 @@ class Font(TTFont):
652
652
  else:
653
653
  return Path(self.reader.file.name).stem
654
654
 
655
- def get_axes(self) -> list[Axis]:
655
+ def get_axes(self, hidden_axes: bool = False) -> list[Axis]:
656
656
  """
657
657
  This function returns a list of axes in a variable font.
658
658
  """
659
659
  if not self.is_variable:
660
660
  return []
661
- return [axis for axis in self["fvar"].axes if axis.flags == 0]
661
+ if hidden_axes:
662
+ return [axis for axis in self["fvar"].axes]
663
+ else:
664
+ return [axis for axis in self["fvar"].axes if axis.flags == 0]
662
665
 
663
666
  def fix_cff_top_dict_version(self) -> None:
664
667
  if not self.is_otf:
@@ -736,7 +739,8 @@ class Font(TTFont):
736
739
  ui_name_ids = []
737
740
  for record in self["GSUB"].table.FeatureList.FeatureRecord:
738
741
  if record.Feature.FeatureParams:
739
- ui_name_ids.append(record.Feature.FeatureParams.UINameID)
742
+ if hasattr(record.Feature.FeatureParams, "UINameID"):
743
+ ui_name_ids.append(record.Feature.FeatureParams.UINameID)
740
744
  return sorted(set(ui_name_ids))
741
745
 
742
746
  def reorder_ui_name_ids(self) -> None:
@@ -749,14 +753,16 @@ class Font(TTFont):
749
753
  if "GSUB" not in self:
750
754
  return
751
755
  ui_name_ids = self.get_ui_name_ids()
756
+ if not ui_name_ids:
757
+ return
752
758
  for count, value in enumerate(ui_name_ids, start=256):
753
759
  for n in name_table.names:
754
760
  if n.nameID == value:
755
761
  n.nameID = count
756
762
  for record in self["GSUB"].table.FeatureList.FeatureRecord:
757
763
  if record.Feature.FeatureParams:
758
- if record.Feature.FeatureParams.UINameID == value:
759
- record.Feature.FeatureParams.UINameID = count
764
+ if hasattr(record.Feature.FeatureParams, "UINameID"):
765
+ setattr(record.Feature.FeatureParams, "UINameID", count)
760
766
 
761
767
  def modify_linegap_percent(self, percent):
762
768
  """
@@ -0,0 +1,3 @@
1
+ VERSION = __version__ = "1.1.21"
2
+
3
+ __all__ = ["VERSION"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: foundrytools-cli
3
- Version: 1.1.18
3
+ Version: 1.1.21
4
4
  Summary: A set of command line tools to inspect, manipulate and convert font files
5
5
  Home-page: https://github.com/ftCLI/FoundryTools-CLI
6
6
  Author: ftCLI
@@ -10,18 +10,18 @@ Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: afdko>=4.0.1
14
- Requires-Dist: fonttools>=4.54.0
13
+ Requires-Dist: afdko>=4.0.2
14
+ Requires-Dist: fonttools>=4.55.1
15
15
  Requires-Dist: brotli>=1.1.0
16
16
  Requires-Dist: click>=8.1.7
17
17
  Requires-Dist: cffsubr>=0.3.0
18
18
  Requires-Dist: dehinter>=4.0.0
19
19
  Requires-Dist: loguru>=0.7.2
20
20
  Requires-Dist: pathvalidate>=3.2.1
21
- Requires-Dist: rich>=13.8.1
22
- Requires-Dist: skia-pathops>=0.8.0.post1
21
+ Requires-Dist: rich>=13.9.4
22
+ Requires-Dist: skia-pathops>=0.8.0.post2
23
23
  Requires-Dist: ttfautohint-py>=0.5.1
24
- Requires-Dist: zopfli>=0.2.3
24
+ Requires-Dist: zopfli>=0.2.3.post1
25
25
 
26
26
  # FoundryTools-CLI
27
27
  FoundryTools-CLI, former known as ftCLI, is a collection of command line tools written in Python to inspect, manipulate
@@ -1,12 +1,12 @@
1
- afdko>=4.0.1
2
- fonttools>=4.54.0
1
+ afdko>=4.0.2
2
+ fonttools>=4.55.1
3
3
  brotli>=1.1.0
4
4
  click>=8.1.7
5
5
  cffsubr>=0.3.0
6
6
  dehinter>=4.0.0
7
7
  loguru>=0.7.2
8
8
  pathvalidate>=3.2.1
9
- rich>=13.8.1
10
- skia-pathops>=0.8.0.post1
9
+ rich>=13.9.4
10
+ skia-pathops>=0.8.0.post2
11
11
  ttfautohint-py>=0.5.1
12
- zopfli>=0.2.3
12
+ zopfli>=0.2.3.post1
@@ -1,13 +1,13 @@
1
1
  # Hard pinning here gets relaxed to ">=" in setup.py
2
- afdko==4.0.1
3
- fonttools==4.54.0
2
+ afdko==4.0.2
3
+ fonttools==4.55.1
4
4
  brotli==1.1.0
5
5
  click==8.1.7
6
6
  cffsubr==0.3.0
7
7
  dehinter==4.0.0
8
8
  loguru==0.7.2
9
9
  pathvalidate==3.2.1
10
- rich==13.8.1
11
- skia-pathops==0.8.0.post1
10
+ rich==13.9.4
11
+ skia-pathops==0.8.0.post2
12
12
  ttfautohint-py==0.5.1
13
- zopfli==0.2.3
13
+ zopfli==0.2.3.post1
@@ -18,7 +18,7 @@ def _get_requirements():
18
18
 
19
19
  setuptools.setup(
20
20
  name="foundrytools-cli",
21
- version="1.1.18",
21
+ version="1.1.21",
22
22
  description="A set of command line tools to inspect, manipulate and convert font files",
23
23
  long_description=long_description,
24
24
  long_description_content_type="text/markdown",
@@ -1,3 +0,0 @@
1
- VERSION = __version__ = "1.1.18"
2
-
3
- __all__ = ["VERSION"]