kaxe 1.4.4.dev5__tar.gz → 1.4.4.dev6__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 (131) hide show
  1. {kaxe-1.4.4.dev5/src/kaxe.egg-info → kaxe-1.4.4.dev6}/PKG-INFO +1 -1
  2. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/pyproject.toml +1 -1
  3. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/svg_pdf.py +9 -3
  4. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6/src/kaxe.egg-info}/PKG-INFO +1 -1
  5. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/LICENSE +0 -0
  6. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/MANIFEST.in +0 -0
  7. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/README.md +0 -0
  8. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/setup.cfg +0 -0
  9. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/__init__.py +0 -0
  10. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/chart/__init__.py +0 -0
  11. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/chart/bar.py +0 -0
  12. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/chart/box.py +0 -0
  13. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/chart/pie.py +0 -0
  14. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/chart/qqplot.py +0 -0
  15. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/__init__.py +0 -0
  16. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/axis.py +0 -0
  17. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/color.py +0 -0
  18. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/backend.py +0 -0
  19. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/camera.py +0 -0
  20. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/helper.py +0 -0
  21. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/hud.py +0 -0
  22. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/__init__.py +0 -0
  23. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/color.py +0 -0
  24. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/line.py +0 -0
  25. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/point.py +0 -0
  26. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/pointer.py +0 -0
  27. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/objects/triangle.py +0 -0
  28. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/openglrender.py +0 -0
  29. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/d3/translator.py +0 -0
  30. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/draw.py +0 -0
  31. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/fileloader.py +0 -0
  32. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/helper.py +0 -0
  33. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/legend.py +0 -0
  34. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/line.py +0 -0
  35. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/marker.py +0 -0
  36. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/profiler.py +0 -0
  37. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/round.py +0 -0
  38. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/shapes.py +0 -0
  39. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/styles.py +0 -0
  40. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/svg.py +0 -0
  41. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/symbol.py +0 -0
  42. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/text.py +0 -0
  43. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/core/window.py +0 -0
  44. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/data/__init__.py +0 -0
  45. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/data/excel.py +0 -0
  46. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/__init__.py +0 -0
  47. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/_lazy.py +0 -0
  48. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/__init__.py +0 -0
  49. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/arrow.py +0 -0
  50. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/bubble.py +0 -0
  51. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/contour.py +0 -0
  52. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/equation.py +0 -0
  53. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/fill.py +0 -0
  54. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/function.py +0 -0
  55. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/map.py +0 -0
  56. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/parameter.py +0 -0
  57. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/pillar.py +0 -0
  58. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d2/point.py +0 -0
  59. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/__init__.py +0 -0
  60. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/base.py +0 -0
  61. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/function.py +0 -0
  62. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/mesh.py +0 -0
  63. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/point.py +0 -0
  64. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/d3/potato.py +0 -0
  65. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/function.py +0 -0
  66. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/legend.py +0 -0
  67. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/mapdata.py +0 -0
  68. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/point.py +0 -0
  69. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/objects/text.py +0 -0
  70. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/__init__.py +0 -0
  71. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/_lazy.py +0 -0
  72. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/box.py +0 -0
  73. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/constants.py +0 -0
  74. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/d3/__init__.py +0 -0
  75. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/d3/axes.py +0 -0
  76. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/d3/geometry.py +0 -0
  77. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/d3/plot3d.py +0 -0
  78. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/d3/variants.py +0 -0
  79. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/double.py +0 -0
  80. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/empty.py +0 -0
  81. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/grid.py +0 -0
  82. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/log.py +0 -0
  83. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/polar.py +0 -0
  84. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/standard.py +0 -0
  85. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/themes.py +0 -0
  86. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/zoom.py +0 -0
  87. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/plot/zoom_connector.py +0 -0
  88. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/__init__.py +0 -0
  89. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/__init__.py +0 -0
  90. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf +0 -0
  91. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf +0 -0
  92. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf +0 -0
  93. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.bright-semiboldoblique.ttf +0 -0
  94. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.classical-serif-italic.ttf +0 -0
  95. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf +0 -0
  96. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf +0 -0
  97. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf +0 -0
  98. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf +0 -0
  99. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf +0 -0
  100. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-boldoblique.ttf +0 -0
  101. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-demi-condensed-demicondensed.ttf +0 -0
  102. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf +0 -0
  103. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf +0 -0
  104. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf +0 -0
  105. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf +0 -0
  106. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-boldslanted.ttf +0 -0
  107. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-romanslanted.ttf +0 -0
  108. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf +0 -0
  109. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf +0 -0
  110. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.serif-upright-italic-uprightitalic.ttf +0 -0
  111. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bold.ttf +0 -0
  112. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bolditalic.ttf +0 -0
  113. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-italic.ttf +0 -0
  114. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-light.ttf +0 -0
  115. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-lightoblique.ttf +0 -0
  116. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-regular.ttf +0 -0
  117. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-italic.ttf +0 -0
  118. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-medium.ttf +0 -0
  119. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/computer-modern-family/readme.txt +0 -0
  120. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/logo-small.png +0 -0
  121. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/symbolcross.png +0 -0
  122. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/symboldonut.png +0 -0
  123. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/symbollollipop.png +0 -0
  124. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe/resources/symboltriangle.png +0 -0
  125. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe.egg-info/SOURCES.txt +0 -0
  126. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe.egg-info/dependency_links.txt +0 -0
  127. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe.egg-info/requires.txt +0 -0
  128. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/src/kaxe.egg-info/top_level.txt +0 -0
  129. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/tests/test.py +0 -0
  130. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/tests/test2.py +0 -0
  131. {kaxe-1.4.4.dev5 → kaxe-1.4.4.dev6}/tests/test3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.4.dev5
3
+ Version: 1.4.4.dev6
4
4
  Summary: A small graphing tool for functions, points, equations and more
5
5
  Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/valteryde/kaxe
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kaxe"
3
- version = "1.4.4.dev5"
3
+ version = "1.4.4.dev6"
4
4
  authors = [
5
5
  { name="Valter Yde Daugberg", email="valteryde@hotmail.com" },
6
6
  ]
@@ -21,6 +21,7 @@ if TYPE_CHECKING:
21
21
 
22
22
  _PDF_INSTALL_HINT = "PDF export requires reportlab. Install with: pip install kaxe[pdf]"
23
23
  _FONDI_FONTS_REGISTERED = False
24
+ _REGISTERED_PDF_FONTS: set[str] = set()
24
25
  _OTF_TTF_CACHE: dict[str, bytes] = {}
25
26
 
26
27
  _TRANSFORM_RE = re.compile(
@@ -137,6 +138,7 @@ def _convert_otf_to_ttf_bytes(otf_path: os.PathLike[str]) -> bytes:
137
138
  for g in glyf.glyphs.values()
138
139
  )
139
140
  maxp.compile(font)
141
+ font["maxp"] = maxp
140
142
 
141
143
  post = font["post"]
142
144
  post.formatType = 2.0
@@ -182,6 +184,7 @@ def _register_fondi_fonts() -> None:
182
184
  else:
183
185
  data = candidate.read_bytes()
184
186
  pdfmetrics.registerFont(TTFont(name, io.BytesIO(data)))
187
+ _REGISTERED_PDF_FONTS.add(name)
185
188
  return True
186
189
  except Exception as exc:
187
190
  logging.warning("Could not register PDF font %s from %s: %s", name, candidate, exc)
@@ -209,10 +212,13 @@ def _register_fondi_fonts() -> None:
209
212
 
210
213
 
211
214
  def _resolve_font_name(family: Optional[str], style: Optional[str]) -> str:
212
- if family == "FondiNewCM" and style == "italic":
213
- return "FondiNewCM-Italic"
214
215
  if family == "FondiNewCM":
215
- return "FondiNewCM"
216
+ if style == "italic" and "FondiNewCM-Italic" in _REGISTERED_PDF_FONTS:
217
+ return "FondiNewCM-Italic"
218
+ if "FondiNewCM" in _REGISTERED_PDF_FONTS:
219
+ return "FondiNewCM"
220
+ logging.warning("FondiNewCM unavailable; using Helvetica for PDF text")
221
+ return "Helvetica"
216
222
  if family:
217
223
  logging.warning("Unknown PDF font family %r; using Helvetica", family)
218
224
  return "Helvetica"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaxe
3
- Version: 1.4.4.dev5
3
+ Version: 1.4.4.dev6
4
4
  Summary: A small graphing tool for functions, points, equations and more
5
5
  Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/valteryde/kaxe
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes