fontconv 0.0.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 (355) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -0
  3. package/esm/_dnt.shims.d.ts +5 -0
  4. package/esm/_dnt.shims.js +61 -0
  5. package/esm/deps/deno.land/std@0.221.0/assert/assert.d.ts +12 -0
  6. package/esm/deps/deno.land/std@0.221.0/assert/assert.js +18 -0
  7. package/esm/deps/deno.land/std@0.221.0/assert/assertion_error.d.ts +14 -0
  8. package/esm/deps/deno.land/std@0.221.0/assert/assertion_error.js +18 -0
  9. package/esm/deps/deno.land/std@0.221.0/path/_common/assert_path.d.ts +1 -0
  10. package/esm/deps/deno.land/std@0.221.0/path/_common/assert_path.js +7 -0
  11. package/esm/deps/deno.land/std@0.221.0/path/_common/basename.d.ts +3 -0
  12. package/esm/deps/deno.land/std@0.221.0/path/_common/basename.js +40 -0
  13. package/esm/deps/deno.land/std@0.221.0/path/_common/common.d.ts +1 -0
  14. package/esm/deps/deno.land/std@0.221.0/path/_common/common.js +23 -0
  15. package/esm/deps/deno.land/std@0.221.0/path/_common/constants.d.ts +39 -0
  16. package/esm/deps/deno.land/std@0.221.0/path/_common/constants.js +46 -0
  17. package/esm/deps/deno.land/std@0.221.0/path/_common/dirname.d.ts +1 -0
  18. package/esm/deps/deno.land/std@0.221.0/path/_common/dirname.js +8 -0
  19. package/esm/deps/deno.land/std@0.221.0/path/_common/format.d.ts +3 -0
  20. package/esm/deps/deno.land/std@0.221.0/path/_common/format.js +19 -0
  21. package/esm/deps/deno.land/std@0.221.0/path/_common/from_file_url.d.ts +2 -0
  22. package/esm/deps/deno.land/std@0.221.0/path/_common/from_file_url.js +9 -0
  23. package/esm/deps/deno.land/std@0.221.0/path/_common/glob_to_reg_exp.d.ts +28 -0
  24. package/esm/deps/deno.land/std@0.221.0/path/_common/glob_to_reg_exp.js +237 -0
  25. package/esm/deps/deno.land/std@0.221.0/path/_common/normalize.d.ts +1 -0
  26. package/esm/deps/deno.land/std@0.221.0/path/_common/normalize.js +8 -0
  27. package/esm/deps/deno.land/std@0.221.0/path/_common/normalize_string.d.ts +1 -0
  28. package/esm/deps/deno.land/std@0.221.0/path/_common/normalize_string.js +77 -0
  29. package/esm/deps/deno.land/std@0.221.0/path/_common/relative.d.ts +1 -0
  30. package/esm/deps/deno.land/std@0.221.0/path/_common/relative.js +9 -0
  31. package/esm/deps/deno.land/std@0.221.0/path/_common/strip_trailing_separators.d.ts +1 -0
  32. package/esm/deps/deno.land/std@0.221.0/path/_common/strip_trailing_separators.js +19 -0
  33. package/esm/deps/deno.land/std@0.221.0/path/_common/to_file_url.d.ts +1 -0
  34. package/esm/deps/deno.land/std@0.221.0/path/_common/to_file_url.js +15 -0
  35. package/esm/deps/deno.land/std@0.221.0/path/_interface.d.ts +38 -0
  36. package/esm/deps/deno.land/std@0.221.0/path/_interface.js +3 -0
  37. package/esm/deps/deno.land/std@0.221.0/path/_os.d.ts +3 -0
  38. package/esm/deps/deno.land/std@0.221.0/path/_os.js +18 -0
  39. package/esm/deps/deno.land/std@0.221.0/path/basename.d.ts +17 -0
  40. package/esm/deps/deno.land/std@0.221.0/path/basename.js +26 -0
  41. package/esm/deps/deno.land/std@0.221.0/path/common.d.ts +13 -0
  42. package/esm/deps/deno.land/std@0.221.0/path/common.js +19 -0
  43. package/esm/deps/deno.land/std@0.221.0/path/constants.d.ts +3 -0
  44. package/esm/deps/deno.land/std@0.221.0/path/constants.js +6 -0
  45. package/esm/deps/deno.land/std@0.221.0/path/dirname.d.ts +5 -0
  46. package/esm/deps/deno.land/std@0.221.0/path/dirname.js +12 -0
  47. package/esm/deps/deno.land/std@0.221.0/path/extname.d.ts +6 -0
  48. package/esm/deps/deno.land/std@0.221.0/path/extname.js +13 -0
  49. package/esm/deps/deno.land/std@0.221.0/path/format.d.ts +8 -0
  50. package/esm/deps/deno.land/std@0.221.0/path/format.js +14 -0
  51. package/esm/deps/deno.land/std@0.221.0/path/from_file_url.d.ts +18 -0
  52. package/esm/deps/deno.land/std@0.221.0/path/from_file_url.js +24 -0
  53. package/esm/deps/deno.land/std@0.221.0/path/glob_to_regexp.d.ts +62 -0
  54. package/esm/deps/deno.land/std@0.221.0/path/glob_to_regexp.js +65 -0
  55. package/esm/deps/deno.land/std@0.221.0/path/is_absolute.d.ts +5 -0
  56. package/esm/deps/deno.land/std@0.221.0/path/is_absolute.js +12 -0
  57. package/esm/deps/deno.land/std@0.221.0/path/is_glob.d.ts +2 -0
  58. package/esm/deps/deno.land/std@0.221.0/path/is_glob.js +28 -0
  59. package/esm/deps/deno.land/std@0.221.0/path/join.d.ts +5 -0
  60. package/esm/deps/deno.land/std@0.221.0/path/join.js +12 -0
  61. package/esm/deps/deno.land/std@0.221.0/path/join_globs.d.ts +4 -0
  62. package/esm/deps/deno.land/std@0.221.0/path/join_globs.js +11 -0
  63. package/esm/deps/deno.land/std@0.221.0/path/mod.d.ts +56 -0
  64. package/esm/deps/deno.land/std@0.221.0/path/mod.js +60 -0
  65. package/esm/deps/deno.land/std@0.221.0/path/normalize.d.ts +7 -0
  66. package/esm/deps/deno.land/std@0.221.0/path/normalize.js +14 -0
  67. package/esm/deps/deno.land/std@0.221.0/path/normalize_glob.d.ts +4 -0
  68. package/esm/deps/deno.land/std@0.221.0/path/normalize_glob.js +11 -0
  69. package/esm/deps/deno.land/std@0.221.0/path/parse.d.ts +18 -0
  70. package/esm/deps/deno.land/std@0.221.0/path/parse.js +24 -0
  71. package/esm/deps/deno.land/std@0.221.0/path/posix/_util.d.ts +1 -0
  72. package/esm/deps/deno.land/std@0.221.0/path/posix/_util.js +8 -0
  73. package/esm/deps/deno.land/std@0.221.0/path/posix/basename.d.ts +17 -0
  74. package/esm/deps/deno.land/std@0.221.0/path/posix/basename.js +27 -0
  75. package/esm/deps/deno.land/std@0.221.0/path/posix/common.d.ts +13 -0
  76. package/esm/deps/deno.land/std@0.221.0/path/posix/common.js +19 -0
  77. package/esm/deps/deno.land/std@0.221.0/path/posix/constants.d.ts +3 -0
  78. package/esm/deps/deno.land/std@0.221.0/path/posix/constants.js +5 -0
  79. package/esm/deps/deno.land/std@0.221.0/path/posix/dirname.d.ts +14 -0
  80. package/esm/deps/deno.land/std@0.221.0/path/posix/dirname.js +45 -0
  81. package/esm/deps/deno.land/std@0.221.0/path/posix/extname.d.ts +15 -0
  82. package/esm/deps/deno.land/std@0.221.0/path/posix/extname.js +68 -0
  83. package/esm/deps/deno.land/std@0.221.0/path/posix/format.d.ts +6 -0
  84. package/esm/deps/deno.land/std@0.221.0/path/posix/format.js +11 -0
  85. package/esm/deps/deno.land/std@0.221.0/path/posix/from_file_url.d.ts +12 -0
  86. package/esm/deps/deno.land/std@0.221.0/path/posix/from_file_url.js +17 -0
  87. package/esm/deps/deno.land/std@0.221.0/path/posix/glob_to_regexp.d.ts +57 -0
  88. package/esm/deps/deno.land/std@0.221.0/path/posix/glob_to_regexp.js +69 -0
  89. package/esm/deps/deno.land/std@0.221.0/path/posix/is_absolute.d.ts +5 -0
  90. package/esm/deps/deno.land/std@0.221.0/path/posix/is_absolute.js +12 -0
  91. package/esm/deps/deno.land/std@0.221.0/path/posix/is_glob.d.ts +1 -0
  92. package/esm/deps/deno.land/std@0.221.0/path/posix/is_glob.js +3 -0
  93. package/esm/deps/deno.land/std@0.221.0/path/posix/join.d.ts +5 -0
  94. package/esm/deps/deno.land/std@0.221.0/path/posix/join.js +26 -0
  95. package/esm/deps/deno.land/std@0.221.0/path/posix/join_globs.d.ts +4 -0
  96. package/esm/deps/deno.land/std@0.221.0/path/posix/join_globs.js +26 -0
  97. package/esm/deps/deno.land/std@0.221.0/path/posix/mod.d.ts +38 -0
  98. package/esm/deps/deno.land/std@0.221.0/path/posix/mod.js +42 -0
  99. package/esm/deps/deno.land/std@0.221.0/path/posix/normalize.d.ts +7 -0
  100. package/esm/deps/deno.land/std@0.221.0/path/posix/normalize.js +25 -0
  101. package/esm/deps/deno.land/std@0.221.0/path/posix/normalize_glob.d.ts +4 -0
  102. package/esm/deps/deno.land/std@0.221.0/path/posix/normalize_glob.js +16 -0
  103. package/esm/deps/deno.land/std@0.221.0/path/posix/parse.d.ts +6 -0
  104. package/esm/deps/deno.land/std@0.221.0/path/posix/parse.js +98 -0
  105. package/esm/deps/deno.land/std@0.221.0/path/posix/relative.d.ts +7 -0
  106. package/esm/deps/deno.land/std@0.221.0/path/posix/relative.js +94 -0
  107. package/esm/deps/deno.land/std@0.221.0/path/posix/resolve.d.ts +5 -0
  108. package/esm/deps/deno.land/std@0.221.0/path/posix/resolve.js +48 -0
  109. package/esm/deps/deno.land/std@0.221.0/path/posix/to_file_url.d.ts +12 -0
  110. package/esm/deps/deno.land/std@0.221.0/path/posix/to_file_url.js +22 -0
  111. package/esm/deps/deno.land/std@0.221.0/path/posix/to_namespaced_path.d.ts +5 -0
  112. package/esm/deps/deno.land/std@0.221.0/path/posix/to_namespaced_path.js +10 -0
  113. package/esm/deps/deno.land/std@0.221.0/path/relative.d.ts +12 -0
  114. package/esm/deps/deno.land/std@0.221.0/path/relative.js +19 -0
  115. package/esm/deps/deno.land/std@0.221.0/path/resolve.d.ts +5 -0
  116. package/esm/deps/deno.land/std@0.221.0/path/resolve.js +14 -0
  117. package/esm/deps/deno.land/std@0.221.0/path/to_file_url.d.ts +18 -0
  118. package/esm/deps/deno.land/std@0.221.0/path/to_file_url.js +24 -0
  119. package/esm/deps/deno.land/std@0.221.0/path/to_namespaced_path.d.ts +5 -0
  120. package/esm/deps/deno.land/std@0.221.0/path/to_namespaced_path.js +14 -0
  121. package/esm/deps/deno.land/std@0.221.0/path/windows/_util.d.ts +3 -0
  122. package/esm/deps/deno.land/std@0.221.0/path/windows/_util.js +15 -0
  123. package/esm/deps/deno.land/std@0.221.0/path/windows/basename.d.ts +17 -0
  124. package/esm/deps/deno.land/std@0.221.0/path/windows/basename.js +39 -0
  125. package/esm/deps/deno.land/std@0.221.0/path/windows/common.d.ts +13 -0
  126. package/esm/deps/deno.land/std@0.221.0/path/windows/common.js +19 -0
  127. package/esm/deps/deno.land/std@0.221.0/path/windows/constants.d.ts +3 -0
  128. package/esm/deps/deno.land/std@0.221.0/path/windows/constants.js +5 -0
  129. package/esm/deps/deno.land/std@0.221.0/path/windows/dirname.d.ts +5 -0
  130. package/esm/deps/deno.land/std@0.221.0/path/windows/dirname.js +98 -0
  131. package/esm/deps/deno.land/std@0.221.0/path/windows/extname.d.ts +6 -0
  132. package/esm/deps/deno.land/std@0.221.0/path/windows/extname.js +68 -0
  133. package/esm/deps/deno.land/std@0.221.0/path/windows/format.d.ts +6 -0
  134. package/esm/deps/deno.land/std@0.221.0/path/windows/format.js +11 -0
  135. package/esm/deps/deno.land/std@0.221.0/path/windows/from_file_url.d.ts +14 -0
  136. package/esm/deps/deno.land/std@0.221.0/path/windows/from_file_url.js +26 -0
  137. package/esm/deps/deno.land/std@0.221.0/path/windows/glob_to_regexp.d.ts +57 -0
  138. package/esm/deps/deno.land/std@0.221.0/path/windows/glob_to_regexp.js +69 -0
  139. package/esm/deps/deno.land/std@0.221.0/path/windows/is_absolute.d.ts +5 -0
  140. package/esm/deps/deno.land/std@0.221.0/path/windows/is_absolute.js +27 -0
  141. package/esm/deps/deno.land/std@0.221.0/path/windows/is_glob.d.ts +1 -0
  142. package/esm/deps/deno.land/std@0.221.0/path/windows/is_glob.js +3 -0
  143. package/esm/deps/deno.land/std@0.221.0/path/windows/join.d.ts +5 -0
  144. package/esm/deps/deno.land/std@0.221.0/path/windows/join.js +72 -0
  145. package/esm/deps/deno.land/std@0.221.0/path/windows/join_globs.d.ts +4 -0
  146. package/esm/deps/deno.land/std@0.221.0/path/windows/join_globs.js +26 -0
  147. package/esm/deps/deno.land/std@0.221.0/path/windows/mod.d.ts +38 -0
  148. package/esm/deps/deno.land/std@0.221.0/path/windows/mod.js +42 -0
  149. package/esm/deps/deno.land/std@0.221.0/path/windows/normalize.d.ts +7 -0
  150. package/esm/deps/deno.land/std@0.221.0/path/windows/normalize.js +130 -0
  151. package/esm/deps/deno.land/std@0.221.0/path/windows/normalize_glob.d.ts +4 -0
  152. package/esm/deps/deno.land/std@0.221.0/path/windows/normalize_glob.js +16 -0
  153. package/esm/deps/deno.land/std@0.221.0/path/windows/parse.d.ts +6 -0
  154. package/esm/deps/deno.land/std@0.221.0/path/windows/parse.js +159 -0
  155. package/esm/deps/deno.land/std@0.221.0/path/windows/relative.d.ts +12 -0
  156. package/esm/deps/deno.land/std@0.221.0/path/windows/relative.js +121 -0
  157. package/esm/deps/deno.land/std@0.221.0/path/windows/resolve.d.ts +5 -0
  158. package/esm/deps/deno.land/std@0.221.0/path/windows/resolve.js +143 -0
  159. package/esm/deps/deno.land/std@0.221.0/path/windows/to_file_url.d.ts +14 -0
  160. package/esm/deps/deno.land/std@0.221.0/path/windows/to_file_url.js +31 -0
  161. package/esm/deps/deno.land/std@0.221.0/path/windows/to_namespaced_path.d.ts +5 -0
  162. package/esm/deps/deno.land/std@0.221.0/path/windows/to_namespaced_path.js +38 -0
  163. package/esm/fontconv/cli.d.ts +2 -0
  164. package/esm/fontconv/cli.js +36 -0
  165. package/esm/fontconv/mod.d.ts +10 -0
  166. package/esm/fontconv/mod.js +147 -0
  167. package/esm/fontconv/test.d.ts +1 -0
  168. package/esm/package.json +3 -0
  169. package/esm/test/bootstrap-icons.woff2 +0 -0
  170. package/esm/test/format-check.eot +0 -0
  171. package/esm/test/format-check.otf +0 -0
  172. package/esm/test/format-check.svg +25 -0
  173. package/esm/test/format-check.ttf +0 -0
  174. package/esm/test/format-check.woff +0 -0
  175. package/esm/test/format-check.woff2 +0 -0
  176. package/esm/test/material-icons.woff2 +0 -0
  177. package/esm/ttf2svg/mod.d.ts +9 -0
  178. package/esm/ttf2svg/mod.js +167 -0
  179. package/package.json +42 -0
  180. package/script/_dnt.shims.d.ts +5 -0
  181. package/script/_dnt.shims.js +65 -0
  182. package/script/deps/deno.land/std@0.221.0/assert/assert.d.ts +12 -0
  183. package/script/deps/deno.land/std@0.221.0/assert/assert.js +22 -0
  184. package/script/deps/deno.land/std@0.221.0/assert/assertion_error.d.ts +14 -0
  185. package/script/deps/deno.land/std@0.221.0/assert/assertion_error.js +22 -0
  186. package/script/deps/deno.land/std@0.221.0/path/_common/assert_path.d.ts +1 -0
  187. package/script/deps/deno.land/std@0.221.0/path/_common/assert_path.js +11 -0
  188. package/script/deps/deno.land/std@0.221.0/path/_common/basename.d.ts +3 -0
  189. package/script/deps/deno.land/std@0.221.0/path/_common/basename.js +46 -0
  190. package/script/deps/deno.land/std@0.221.0/path/_common/common.d.ts +1 -0
  191. package/script/deps/deno.land/std@0.221.0/path/_common/common.js +27 -0
  192. package/script/deps/deno.land/std@0.221.0/path/_common/constants.d.ts +39 -0
  193. package/script/deps/deno.land/std@0.221.0/path/_common/constants.js +49 -0
  194. package/script/deps/deno.land/std@0.221.0/path/_common/dirname.d.ts +1 -0
  195. package/script/deps/deno.land/std@0.221.0/path/_common/dirname.js +12 -0
  196. package/script/deps/deno.land/std@0.221.0/path/_common/format.d.ts +3 -0
  197. package/script/deps/deno.land/std@0.221.0/path/_common/format.js +24 -0
  198. package/script/deps/deno.land/std@0.221.0/path/_common/from_file_url.d.ts +2 -0
  199. package/script/deps/deno.land/std@0.221.0/path/_common/from_file_url.js +13 -0
  200. package/script/deps/deno.land/std@0.221.0/path/_common/glob_to_reg_exp.d.ts +28 -0
  201. package/script/deps/deno.land/std@0.221.0/path/_common/glob_to_reg_exp.js +241 -0
  202. package/script/deps/deno.land/std@0.221.0/path/_common/normalize.d.ts +1 -0
  203. package/script/deps/deno.land/std@0.221.0/path/_common/normalize.js +12 -0
  204. package/script/deps/deno.land/std@0.221.0/path/_common/normalize_string.d.ts +1 -0
  205. package/script/deps/deno.land/std@0.221.0/path/_common/normalize_string.js +81 -0
  206. package/script/deps/deno.land/std@0.221.0/path/_common/relative.d.ts +1 -0
  207. package/script/deps/deno.land/std@0.221.0/path/_common/relative.js +13 -0
  208. package/script/deps/deno.land/std@0.221.0/path/_common/strip_trailing_separators.d.ts +1 -0
  209. package/script/deps/deno.land/std@0.221.0/path/_common/strip_trailing_separators.js +23 -0
  210. package/script/deps/deno.land/std@0.221.0/path/_common/to_file_url.d.ts +1 -0
  211. package/script/deps/deno.land/std@0.221.0/path/_common/to_file_url.js +19 -0
  212. package/script/deps/deno.land/std@0.221.0/path/_interface.d.ts +38 -0
  213. package/script/deps/deno.land/std@0.221.0/path/_interface.js +4 -0
  214. package/script/deps/deno.land/std@0.221.0/path/_os.d.ts +3 -0
  215. package/script/deps/deno.land/std@0.221.0/path/_os.js +44 -0
  216. package/script/deps/deno.land/std@0.221.0/path/basename.d.ts +17 -0
  217. package/script/deps/deno.land/std@0.221.0/path/basename.js +30 -0
  218. package/script/deps/deno.land/std@0.221.0/path/common.d.ts +13 -0
  219. package/script/deps/deno.land/std@0.221.0/path/common.js +23 -0
  220. package/script/deps/deno.land/std@0.221.0/path/constants.d.ts +3 -0
  221. package/script/deps/deno.land/std@0.221.0/path/constants.js +9 -0
  222. package/script/deps/deno.land/std@0.221.0/path/dirname.d.ts +5 -0
  223. package/script/deps/deno.land/std@0.221.0/path/dirname.js +16 -0
  224. package/script/deps/deno.land/std@0.221.0/path/extname.d.ts +6 -0
  225. package/script/deps/deno.land/std@0.221.0/path/extname.js +17 -0
  226. package/script/deps/deno.land/std@0.221.0/path/format.d.ts +8 -0
  227. package/script/deps/deno.land/std@0.221.0/path/format.js +18 -0
  228. package/script/deps/deno.land/std@0.221.0/path/from_file_url.d.ts +18 -0
  229. package/script/deps/deno.land/std@0.221.0/path/from_file_url.js +28 -0
  230. package/script/deps/deno.land/std@0.221.0/path/glob_to_regexp.d.ts +62 -0
  231. package/script/deps/deno.land/std@0.221.0/path/glob_to_regexp.js +69 -0
  232. package/script/deps/deno.land/std@0.221.0/path/is_absolute.d.ts +5 -0
  233. package/script/deps/deno.land/std@0.221.0/path/is_absolute.js +16 -0
  234. package/script/deps/deno.land/std@0.221.0/path/is_glob.d.ts +2 -0
  235. package/script/deps/deno.land/std@0.221.0/path/is_glob.js +32 -0
  236. package/script/deps/deno.land/std@0.221.0/path/join.d.ts +5 -0
  237. package/script/deps/deno.land/std@0.221.0/path/join.js +16 -0
  238. package/script/deps/deno.land/std@0.221.0/path/join_globs.d.ts +4 -0
  239. package/script/deps/deno.land/std@0.221.0/path/join_globs.js +15 -0
  240. package/script/deps/deno.land/std@0.221.0/path/mod.d.ts +56 -0
  241. package/script/deps/deno.land/std@0.221.0/path/mod.js +89 -0
  242. package/script/deps/deno.land/std@0.221.0/path/normalize.d.ts +7 -0
  243. package/script/deps/deno.land/std@0.221.0/path/normalize.js +18 -0
  244. package/script/deps/deno.land/std@0.221.0/path/normalize_glob.d.ts +4 -0
  245. package/script/deps/deno.land/std@0.221.0/path/normalize_glob.js +15 -0
  246. package/script/deps/deno.land/std@0.221.0/path/parse.d.ts +18 -0
  247. package/script/deps/deno.land/std@0.221.0/path/parse.js +28 -0
  248. package/script/deps/deno.land/std@0.221.0/path/posix/_util.d.ts +1 -0
  249. package/script/deps/deno.land/std@0.221.0/path/posix/_util.js +12 -0
  250. package/script/deps/deno.land/std@0.221.0/path/posix/basename.d.ts +17 -0
  251. package/script/deps/deno.land/std@0.221.0/path/posix/basename.js +31 -0
  252. package/script/deps/deno.land/std@0.221.0/path/posix/common.d.ts +13 -0
  253. package/script/deps/deno.land/std@0.221.0/path/posix/common.js +23 -0
  254. package/script/deps/deno.land/std@0.221.0/path/posix/constants.d.ts +3 -0
  255. package/script/deps/deno.land/std@0.221.0/path/posix/constants.js +8 -0
  256. package/script/deps/deno.land/std@0.221.0/path/posix/dirname.d.ts +14 -0
  257. package/script/deps/deno.land/std@0.221.0/path/posix/dirname.js +49 -0
  258. package/script/deps/deno.land/std@0.221.0/path/posix/extname.d.ts +15 -0
  259. package/script/deps/deno.land/std@0.221.0/path/posix/extname.js +72 -0
  260. package/script/deps/deno.land/std@0.221.0/path/posix/format.d.ts +6 -0
  261. package/script/deps/deno.land/std@0.221.0/path/posix/format.js +15 -0
  262. package/script/deps/deno.land/std@0.221.0/path/posix/from_file_url.d.ts +12 -0
  263. package/script/deps/deno.land/std@0.221.0/path/posix/from_file_url.js +21 -0
  264. package/script/deps/deno.land/std@0.221.0/path/posix/glob_to_regexp.d.ts +57 -0
  265. package/script/deps/deno.land/std@0.221.0/path/posix/glob_to_regexp.js +73 -0
  266. package/script/deps/deno.land/std@0.221.0/path/posix/is_absolute.d.ts +5 -0
  267. package/script/deps/deno.land/std@0.221.0/path/posix/is_absolute.js +16 -0
  268. package/script/deps/deno.land/std@0.221.0/path/posix/is_glob.d.ts +1 -0
  269. package/script/deps/deno.land/std@0.221.0/path/posix/is_glob.js +7 -0
  270. package/script/deps/deno.land/std@0.221.0/path/posix/join.d.ts +5 -0
  271. package/script/deps/deno.land/std@0.221.0/path/posix/join.js +30 -0
  272. package/script/deps/deno.land/std@0.221.0/path/posix/join_globs.d.ts +4 -0
  273. package/script/deps/deno.land/std@0.221.0/path/posix/join_globs.js +30 -0
  274. package/script/deps/deno.land/std@0.221.0/path/posix/mod.d.ts +38 -0
  275. package/script/deps/deno.land/std@0.221.0/path/posix/mod.js +58 -0
  276. package/script/deps/deno.land/std@0.221.0/path/posix/normalize.d.ts +7 -0
  277. package/script/deps/deno.land/std@0.221.0/path/posix/normalize.js +29 -0
  278. package/script/deps/deno.land/std@0.221.0/path/posix/normalize_glob.d.ts +4 -0
  279. package/script/deps/deno.land/std@0.221.0/path/posix/normalize_glob.js +20 -0
  280. package/script/deps/deno.land/std@0.221.0/path/posix/parse.d.ts +6 -0
  281. package/script/deps/deno.land/std@0.221.0/path/posix/parse.js +102 -0
  282. package/script/deps/deno.land/std@0.221.0/path/posix/relative.d.ts +7 -0
  283. package/script/deps/deno.land/std@0.221.0/path/posix/relative.js +98 -0
  284. package/script/deps/deno.land/std@0.221.0/path/posix/resolve.d.ts +5 -0
  285. package/script/deps/deno.land/std@0.221.0/path/posix/resolve.js +75 -0
  286. package/script/deps/deno.land/std@0.221.0/path/posix/to_file_url.d.ts +12 -0
  287. package/script/deps/deno.land/std@0.221.0/path/posix/to_file_url.js +26 -0
  288. package/script/deps/deno.land/std@0.221.0/path/posix/to_namespaced_path.d.ts +5 -0
  289. package/script/deps/deno.land/std@0.221.0/path/posix/to_namespaced_path.js +14 -0
  290. package/script/deps/deno.land/std@0.221.0/path/relative.d.ts +12 -0
  291. package/script/deps/deno.land/std@0.221.0/path/relative.js +23 -0
  292. package/script/deps/deno.land/std@0.221.0/path/resolve.d.ts +5 -0
  293. package/script/deps/deno.land/std@0.221.0/path/resolve.js +18 -0
  294. package/script/deps/deno.land/std@0.221.0/path/to_file_url.d.ts +18 -0
  295. package/script/deps/deno.land/std@0.221.0/path/to_file_url.js +28 -0
  296. package/script/deps/deno.land/std@0.221.0/path/to_namespaced_path.d.ts +5 -0
  297. package/script/deps/deno.land/std@0.221.0/path/to_namespaced_path.js +18 -0
  298. package/script/deps/deno.land/std@0.221.0/path/windows/_util.d.ts +3 -0
  299. package/script/deps/deno.land/std@0.221.0/path/windows/_util.js +21 -0
  300. package/script/deps/deno.land/std@0.221.0/path/windows/basename.d.ts +17 -0
  301. package/script/deps/deno.land/std@0.221.0/path/windows/basename.js +43 -0
  302. package/script/deps/deno.land/std@0.221.0/path/windows/common.d.ts +13 -0
  303. package/script/deps/deno.land/std@0.221.0/path/windows/common.js +23 -0
  304. package/script/deps/deno.land/std@0.221.0/path/windows/constants.d.ts +3 -0
  305. package/script/deps/deno.land/std@0.221.0/path/windows/constants.js +8 -0
  306. package/script/deps/deno.land/std@0.221.0/path/windows/dirname.d.ts +5 -0
  307. package/script/deps/deno.land/std@0.221.0/path/windows/dirname.js +102 -0
  308. package/script/deps/deno.land/std@0.221.0/path/windows/extname.d.ts +6 -0
  309. package/script/deps/deno.land/std@0.221.0/path/windows/extname.js +72 -0
  310. package/script/deps/deno.land/std@0.221.0/path/windows/format.d.ts +6 -0
  311. package/script/deps/deno.land/std@0.221.0/path/windows/format.js +15 -0
  312. package/script/deps/deno.land/std@0.221.0/path/windows/from_file_url.d.ts +14 -0
  313. package/script/deps/deno.land/std@0.221.0/path/windows/from_file_url.js +30 -0
  314. package/script/deps/deno.land/std@0.221.0/path/windows/glob_to_regexp.d.ts +57 -0
  315. package/script/deps/deno.land/std@0.221.0/path/windows/glob_to_regexp.js +73 -0
  316. package/script/deps/deno.land/std@0.221.0/path/windows/is_absolute.d.ts +5 -0
  317. package/script/deps/deno.land/std@0.221.0/path/windows/is_absolute.js +31 -0
  318. package/script/deps/deno.land/std@0.221.0/path/windows/is_glob.d.ts +1 -0
  319. package/script/deps/deno.land/std@0.221.0/path/windows/is_glob.js +7 -0
  320. package/script/deps/deno.land/std@0.221.0/path/windows/join.d.ts +5 -0
  321. package/script/deps/deno.land/std@0.221.0/path/windows/join.js +76 -0
  322. package/script/deps/deno.land/std@0.221.0/path/windows/join_globs.d.ts +4 -0
  323. package/script/deps/deno.land/std@0.221.0/path/windows/join_globs.js +30 -0
  324. package/script/deps/deno.land/std@0.221.0/path/windows/mod.d.ts +38 -0
  325. package/script/deps/deno.land/std@0.221.0/path/windows/mod.js +58 -0
  326. package/script/deps/deno.land/std@0.221.0/path/windows/normalize.d.ts +7 -0
  327. package/script/deps/deno.land/std@0.221.0/path/windows/normalize.js +134 -0
  328. package/script/deps/deno.land/std@0.221.0/path/windows/normalize_glob.d.ts +4 -0
  329. package/script/deps/deno.land/std@0.221.0/path/windows/normalize_glob.js +20 -0
  330. package/script/deps/deno.land/std@0.221.0/path/windows/parse.d.ts +6 -0
  331. package/script/deps/deno.land/std@0.221.0/path/windows/parse.js +163 -0
  332. package/script/deps/deno.land/std@0.221.0/path/windows/relative.d.ts +12 -0
  333. package/script/deps/deno.land/std@0.221.0/path/windows/relative.js +125 -0
  334. package/script/deps/deno.land/std@0.221.0/path/windows/resolve.d.ts +5 -0
  335. package/script/deps/deno.land/std@0.221.0/path/windows/resolve.js +170 -0
  336. package/script/deps/deno.land/std@0.221.0/path/windows/to_file_url.d.ts +14 -0
  337. package/script/deps/deno.land/std@0.221.0/path/windows/to_file_url.js +35 -0
  338. package/script/deps/deno.land/std@0.221.0/path/windows/to_namespaced_path.d.ts +5 -0
  339. package/script/deps/deno.land/std@0.221.0/path/windows/to_namespaced_path.js +42 -0
  340. package/script/fontconv/cli.d.ts +2 -0
  341. package/script/fontconv/cli.js +61 -0
  342. package/script/fontconv/mod.d.ts +10 -0
  343. package/script/fontconv/mod.js +186 -0
  344. package/script/fontconv/test.d.ts +1 -0
  345. package/script/package.json +3 -0
  346. package/script/test/bootstrap-icons.woff2 +0 -0
  347. package/script/test/format-check.eot +0 -0
  348. package/script/test/format-check.otf +0 -0
  349. package/script/test/format-check.svg +25 -0
  350. package/script/test/format-check.ttf +0 -0
  351. package/script/test/format-check.woff +0 -0
  352. package/script/test/format-check.woff2 +0 -0
  353. package/script/test/material-icons.woff2 +0 -0
  354. package/script/ttf2svg/mod.d.ts +9 -0
  355. package/script/ttf2svg/mod.js +204 -0
@@ -0,0 +1,159 @@
1
+ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js";
4
+ import { assertPath } from "../_common/assert_path.js";
5
+ import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
6
+ /**
7
+ * Return a `ParsedPath` object of the `path`.
8
+ * @param path to process
9
+ */
10
+ export function parse(path) {
11
+ assertPath(path);
12
+ const ret = { root: "", dir: "", base: "", ext: "", name: "" };
13
+ const len = path.length;
14
+ if (len === 0)
15
+ return ret;
16
+ let rootEnd = 0;
17
+ let code = path.charCodeAt(0);
18
+ // Try to match a root
19
+ if (len > 1) {
20
+ if (isPathSeparator(code)) {
21
+ // Possible UNC root
22
+ rootEnd = 1;
23
+ if (isPathSeparator(path.charCodeAt(1))) {
24
+ // Matched double path separator at beginning
25
+ let j = 2;
26
+ let last = j;
27
+ // Match 1 or more non-path separators
28
+ for (; j < len; ++j) {
29
+ if (isPathSeparator(path.charCodeAt(j)))
30
+ break;
31
+ }
32
+ if (j < len && j !== last) {
33
+ // Matched!
34
+ last = j;
35
+ // Match 1 or more path separators
36
+ for (; j < len; ++j) {
37
+ if (!isPathSeparator(path.charCodeAt(j)))
38
+ break;
39
+ }
40
+ if (j < len && j !== last) {
41
+ // Matched!
42
+ last = j;
43
+ // Match 1 or more non-path separators
44
+ for (; j < len; ++j) {
45
+ if (isPathSeparator(path.charCodeAt(j)))
46
+ break;
47
+ }
48
+ if (j === len) {
49
+ // We matched a UNC root only
50
+ rootEnd = j;
51
+ }
52
+ else if (j !== last) {
53
+ // We matched a UNC root with leftovers
54
+ rootEnd = j + 1;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ else if (isWindowsDeviceRoot(code)) {
61
+ // Possible device root
62
+ if (path.charCodeAt(1) === CHAR_COLON) {
63
+ rootEnd = 2;
64
+ if (len > 2) {
65
+ if (isPathSeparator(path.charCodeAt(2))) {
66
+ if (len === 3) {
67
+ // `path` contains just a drive root, exit early to avoid
68
+ // unnecessary work
69
+ ret.root = ret.dir = path;
70
+ ret.base = "\\";
71
+ return ret;
72
+ }
73
+ rootEnd = 3;
74
+ }
75
+ }
76
+ else {
77
+ // `path` contains just a relative drive root, exit early to avoid
78
+ // unnecessary work
79
+ ret.root = ret.dir = path;
80
+ return ret;
81
+ }
82
+ }
83
+ }
84
+ }
85
+ else if (isPathSeparator(code)) {
86
+ // `path` contains just a path separator, exit early to avoid
87
+ // unnecessary work
88
+ ret.root = ret.dir = path;
89
+ ret.base = "\\";
90
+ return ret;
91
+ }
92
+ if (rootEnd > 0)
93
+ ret.root = path.slice(0, rootEnd);
94
+ let startDot = -1;
95
+ let startPart = rootEnd;
96
+ let end = -1;
97
+ let matchedSlash = true;
98
+ let i = path.length - 1;
99
+ // Track the state of characters (if any) we see before our first dot and
100
+ // after any path separator we find
101
+ let preDotState = 0;
102
+ // Get non-dir info
103
+ for (; i >= rootEnd; --i) {
104
+ code = path.charCodeAt(i);
105
+ if (isPathSeparator(code)) {
106
+ // If we reached a path separator that was not part of a set of path
107
+ // separators at the end of the string, stop now
108
+ if (!matchedSlash) {
109
+ startPart = i + 1;
110
+ break;
111
+ }
112
+ continue;
113
+ }
114
+ if (end === -1) {
115
+ // We saw the first non-path separator, mark this as the end of our
116
+ // extension
117
+ matchedSlash = false;
118
+ end = i + 1;
119
+ }
120
+ if (code === CHAR_DOT) {
121
+ // If this is our first dot, mark it as the start of our extension
122
+ if (startDot === -1)
123
+ startDot = i;
124
+ else if (preDotState !== 1)
125
+ preDotState = 1;
126
+ }
127
+ else if (startDot !== -1) {
128
+ // We saw a non-dot and non-path separator before our dot, so we should
129
+ // have a good chance at having a non-empty extension
130
+ preDotState = -1;
131
+ }
132
+ }
133
+ if (startDot === -1 ||
134
+ end === -1 ||
135
+ // We saw a non-dot character immediately before the dot
136
+ preDotState === 0 ||
137
+ // The (right-most) trimmed path component is exactly '..'
138
+ (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
139
+ if (end !== -1) {
140
+ ret.base = ret.name = path.slice(startPart, end);
141
+ }
142
+ }
143
+ else {
144
+ ret.name = path.slice(startPart, startDot);
145
+ ret.base = path.slice(startPart, end);
146
+ ret.ext = path.slice(startDot, end);
147
+ }
148
+ // Fallback to '\' in case there is no basename
149
+ ret.base = ret.base || "\\";
150
+ // If the directory is the root, use the entire root as the `dir` including
151
+ // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the
152
+ // trailing slash (`C:\abc\def` -> `C:\abc`).
153
+ if (startPart > 0 && startPart !== rootEnd) {
154
+ ret.dir = path.slice(0, startPart - 1);
155
+ }
156
+ else
157
+ ret.dir = ret.root;
158
+ return ret;
159
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Return the relative path from `from` to `to` based on current working directory.
3
+ *
4
+ * An example in windws, for instance:
5
+ * from = 'C:\\orandea\\test\\aaa'
6
+ * to = 'C:\\orandea\\impl\\bbb'
7
+ * The output of the function should be: '..\\..\\impl\\bbb'
8
+ *
9
+ * @param from path in current working directory
10
+ * @param to path in current working directory
11
+ */
12
+ export declare function relative(from: string, to: string): string;
@@ -0,0 +1,121 @@
1
+ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ import { CHAR_BACKWARD_SLASH } from "../_common/constants.js";
4
+ import { resolve } from "./resolve.js";
5
+ import { assertArgs } from "../_common/relative.js";
6
+ /**
7
+ * Return the relative path from `from` to `to` based on current working directory.
8
+ *
9
+ * An example in windws, for instance:
10
+ * from = 'C:\\orandea\\test\\aaa'
11
+ * to = 'C:\\orandea\\impl\\bbb'
12
+ * The output of the function should be: '..\\..\\impl\\bbb'
13
+ *
14
+ * @param from path in current working directory
15
+ * @param to path in current working directory
16
+ */
17
+ export function relative(from, to) {
18
+ assertArgs(from, to);
19
+ const fromOrig = resolve(from);
20
+ const toOrig = resolve(to);
21
+ if (fromOrig === toOrig)
22
+ return "";
23
+ from = fromOrig.toLowerCase();
24
+ to = toOrig.toLowerCase();
25
+ if (from === to)
26
+ return "";
27
+ // Trim any leading backslashes
28
+ let fromStart = 0;
29
+ let fromEnd = from.length;
30
+ for (; fromStart < fromEnd; ++fromStart) {
31
+ if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH)
32
+ break;
33
+ }
34
+ // Trim trailing backslashes (applicable to UNC paths only)
35
+ for (; fromEnd - 1 > fromStart; --fromEnd) {
36
+ if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH)
37
+ break;
38
+ }
39
+ const fromLen = fromEnd - fromStart;
40
+ // Trim any leading backslashes
41
+ let toStart = 0;
42
+ let toEnd = to.length;
43
+ for (; toStart < toEnd; ++toStart) {
44
+ if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH)
45
+ break;
46
+ }
47
+ // Trim trailing backslashes (applicable to UNC paths only)
48
+ for (; toEnd - 1 > toStart; --toEnd) {
49
+ if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH)
50
+ break;
51
+ }
52
+ const toLen = toEnd - toStart;
53
+ // Compare paths to find the longest common path from root
54
+ const length = fromLen < toLen ? fromLen : toLen;
55
+ let lastCommonSep = -1;
56
+ let i = 0;
57
+ for (; i <= length; ++i) {
58
+ if (i === length) {
59
+ if (toLen > length) {
60
+ if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {
61
+ // We get here if `from` is the exact base path for `to`.
62
+ // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz'
63
+ return toOrig.slice(toStart + i + 1);
64
+ }
65
+ else if (i === 2) {
66
+ // We get here if `from` is the device root.
67
+ // For example: from='C:\\'; to='C:\\foo'
68
+ return toOrig.slice(toStart + i);
69
+ }
70
+ }
71
+ if (fromLen > length) {
72
+ if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {
73
+ // We get here if `to` is the exact base path for `from`.
74
+ // For example: from='C:\\foo\\bar'; to='C:\\foo'
75
+ lastCommonSep = i;
76
+ }
77
+ else if (i === 2) {
78
+ // We get here if `to` is the device root.
79
+ // For example: from='C:\\foo\\bar'; to='C:\\'
80
+ lastCommonSep = 3;
81
+ }
82
+ }
83
+ break;
84
+ }
85
+ const fromCode = from.charCodeAt(fromStart + i);
86
+ const toCode = to.charCodeAt(toStart + i);
87
+ if (fromCode !== toCode)
88
+ break;
89
+ else if (fromCode === CHAR_BACKWARD_SLASH)
90
+ lastCommonSep = i;
91
+ }
92
+ // We found a mismatch before the first common path separator was seen, so
93
+ // return the original `to`.
94
+ if (i !== length && lastCommonSep === -1) {
95
+ return toOrig;
96
+ }
97
+ let out = "";
98
+ if (lastCommonSep === -1)
99
+ lastCommonSep = 0;
100
+ // Generate the relative path based on the path difference between `to` and
101
+ // `from`
102
+ for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
103
+ if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {
104
+ if (out.length === 0)
105
+ out += "..";
106
+ else
107
+ out += "\\..";
108
+ }
109
+ }
110
+ // Lastly, append the rest of the destination (`to`) path that comes after
111
+ // the common path parts
112
+ if (out.length > 0) {
113
+ return out + toOrig.slice(toStart + lastCommonSep, toEnd);
114
+ }
115
+ else {
116
+ toStart += lastCommonSep;
117
+ if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH)
118
+ ++toStart;
119
+ return toOrig.slice(toStart, toEnd);
120
+ }
121
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Resolves path segments into a `path`
3
+ * @param pathSegments to process to path
4
+ */
5
+ export declare function resolve(...pathSegments: string[]): string;
@@ -0,0 +1,143 @@
1
+ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ import * as dntShim from "../../../../../_dnt.shims.js";
4
+ import { CHAR_COLON } from "../_common/constants.js";
5
+ import { normalizeString } from "../_common/normalize_string.js";
6
+ import { assertPath } from "../_common/assert_path.js";
7
+ import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
8
+ /**
9
+ * Resolves path segments into a `path`
10
+ * @param pathSegments to process to path
11
+ */
12
+ export function resolve(...pathSegments) {
13
+ let resolvedDevice = "";
14
+ let resolvedTail = "";
15
+ let resolvedAbsolute = false;
16
+ for (let i = pathSegments.length - 1; i >= -1; i--) {
17
+ let path;
18
+ // deno-lint-ignore no-explicit-any
19
+ const { Deno } = dntShim.dntGlobalThis;
20
+ if (i >= 0) {
21
+ path = pathSegments[i];
22
+ }
23
+ else if (!resolvedDevice) {
24
+ if (typeof Deno?.cwd !== "function") {
25
+ throw new TypeError("Resolved a drive-letter-less path without a CWD.");
26
+ }
27
+ path = Deno.cwd();
28
+ }
29
+ else {
30
+ if (typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function") {
31
+ throw new TypeError("Resolved a relative path without a CWD.");
32
+ }
33
+ path = Deno.cwd();
34
+ // Verify that a cwd was found and that it actually points
35
+ // to our drive. If not, default to the drive's root.
36
+ if (path === undefined ||
37
+ path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\`) {
38
+ path = `${resolvedDevice}\\`;
39
+ }
40
+ }
41
+ assertPath(path);
42
+ const len = path.length;
43
+ // Skip empty entries
44
+ if (len === 0)
45
+ continue;
46
+ let rootEnd = 0;
47
+ let device = "";
48
+ let isAbsolute = false;
49
+ const code = path.charCodeAt(0);
50
+ // Try to match a root
51
+ if (len > 1) {
52
+ if (isPathSeparator(code)) {
53
+ // Possible UNC root
54
+ // If we started with a separator, we know we at least have an
55
+ // absolute path of some kind (UNC or otherwise)
56
+ isAbsolute = true;
57
+ if (isPathSeparator(path.charCodeAt(1))) {
58
+ // Matched double path separator at beginning
59
+ let j = 2;
60
+ let last = j;
61
+ // Match 1 or more non-path separators
62
+ for (; j < len; ++j) {
63
+ if (isPathSeparator(path.charCodeAt(j)))
64
+ break;
65
+ }
66
+ if (j < len && j !== last) {
67
+ const firstPart = path.slice(last, j);
68
+ // Matched!
69
+ last = j;
70
+ // Match 1 or more path separators
71
+ for (; j < len; ++j) {
72
+ if (!isPathSeparator(path.charCodeAt(j)))
73
+ break;
74
+ }
75
+ if (j < len && j !== last) {
76
+ // Matched!
77
+ last = j;
78
+ // Match 1 or more non-path separators
79
+ for (; j < len; ++j) {
80
+ if (isPathSeparator(path.charCodeAt(j)))
81
+ break;
82
+ }
83
+ if (j === len) {
84
+ // We matched a UNC root only
85
+ device = `\\\\${firstPart}\\${path.slice(last)}`;
86
+ rootEnd = j;
87
+ }
88
+ else if (j !== last) {
89
+ // We matched a UNC root with leftovers
90
+ device = `\\\\${firstPart}\\${path.slice(last, j)}`;
91
+ rootEnd = j;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ else {
97
+ rootEnd = 1;
98
+ }
99
+ }
100
+ else if (isWindowsDeviceRoot(code)) {
101
+ // Possible device root
102
+ if (path.charCodeAt(1) === CHAR_COLON) {
103
+ device = path.slice(0, 2);
104
+ rootEnd = 2;
105
+ if (len > 2) {
106
+ if (isPathSeparator(path.charCodeAt(2))) {
107
+ // Treat separator following drive name as an absolute path
108
+ // indicator
109
+ isAbsolute = true;
110
+ rootEnd = 3;
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ else if (isPathSeparator(code)) {
117
+ // `path` contains just a path separator
118
+ rootEnd = 1;
119
+ isAbsolute = true;
120
+ }
121
+ if (device.length > 0 &&
122
+ resolvedDevice.length > 0 &&
123
+ device.toLowerCase() !== resolvedDevice.toLowerCase()) {
124
+ // This path points to another device so it is not applicable
125
+ continue;
126
+ }
127
+ if (resolvedDevice.length === 0 && device.length > 0) {
128
+ resolvedDevice = device;
129
+ }
130
+ if (!resolvedAbsolute) {
131
+ resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`;
132
+ resolvedAbsolute = isAbsolute;
133
+ }
134
+ if (resolvedAbsolute && resolvedDevice.length > 0)
135
+ break;
136
+ }
137
+ // At this point the path should be resolved to a full absolute path,
138
+ // but handle relative paths to be safe (might happen when Deno.cwd()
139
+ // fails)
140
+ // Normalize the tail path
141
+ resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, "\\", isPathSeparator);
142
+ return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || ".";
143
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Converts a path string to a file URL.
4
+ *
5
+ * ```ts
6
+ * import { toFileUrl } from "https://deno.land/std@$STD_VERSION/path/windows/to_file_url.ts";
7
+ *
8
+ * toFileUrl("\\home\\foo"); // new URL("file:///home/foo")
9
+ * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo")
10
+ * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo")
11
+ * ```
12
+ * @param path to convert to file URL
13
+ */
14
+ export declare function toFileUrl(path: string): URL;
@@ -0,0 +1,31 @@
1
+ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ import { encodeWhitespace } from "../_common/to_file_url.js";
4
+ import { isAbsolute } from "./is_absolute.js";
5
+ /**
6
+ * Converts a path string to a file URL.
7
+ *
8
+ * ```ts
9
+ * import { toFileUrl } from "https://deno.land/std@$STD_VERSION/path/windows/to_file_url.ts";
10
+ *
11
+ * toFileUrl("\\home\\foo"); // new URL("file:///home/foo")
12
+ * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo")
13
+ * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo")
14
+ * ```
15
+ * @param path to convert to file URL
16
+ */
17
+ export function toFileUrl(path) {
18
+ if (!isAbsolute(path)) {
19
+ throw new TypeError("Must be an absolute path.");
20
+ }
21
+ const [, hostname, pathname] = path.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/);
22
+ const url = new URL("file:///");
23
+ url.pathname = encodeWhitespace(pathname.replace(/%/g, "%25"));
24
+ if (hostname !== undefined && hostname !== "localhost") {
25
+ url.hostname = hostname;
26
+ if (!url.hostname) {
27
+ throw new TypeError("Invalid hostname.");
28
+ }
29
+ }
30
+ return url;
31
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Resolves path to a namespace path
3
+ * @param path to resolve to namespace
4
+ */
5
+ export declare function toNamespacedPath(path: string): string;
@@ -0,0 +1,38 @@
1
+ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
+ // This module is browser compatible.
3
+ import { CHAR_BACKWARD_SLASH, CHAR_COLON, CHAR_DOT, CHAR_QUESTION_MARK, } from "../_common/constants.js";
4
+ import { isWindowsDeviceRoot } from "./_util.js";
5
+ import { resolve } from "./resolve.js";
6
+ /**
7
+ * Resolves path to a namespace path
8
+ * @param path to resolve to namespace
9
+ */
10
+ export function toNamespacedPath(path) {
11
+ // Note: this will *probably* throw somewhere.
12
+ if (typeof path !== "string")
13
+ return path;
14
+ if (path.length === 0)
15
+ return "";
16
+ const resolvedPath = resolve(path);
17
+ if (resolvedPath.length >= 3) {
18
+ if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {
19
+ // Possible UNC root
20
+ if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {
21
+ const code = resolvedPath.charCodeAt(2);
22
+ if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {
23
+ // Matched non-long UNC root, convert the path to a long UNC path
24
+ return `\\\\?\\UNC\\${resolvedPath.slice(2)}`;
25
+ }
26
+ }
27
+ }
28
+ else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) {
29
+ // Possible device root
30
+ if (resolvedPath.charCodeAt(1) === CHAR_COLON &&
31
+ resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {
32
+ // Matched device root, convert the path to a long UNC path
33
+ return `\\\\?\\${resolvedPath}`;
34
+ }
35
+ }
36
+ }
37
+ return path;
38
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import * as dntShim from "../_dnt.shims.js";
3
+ import { extname } from "../deps/deno.land/std@0.221.0/path/mod.js";
4
+ import { Command } from "commander";
5
+ import { convert } from "./mod.js";
6
+ const program = new Command();
7
+ program
8
+ .name("fontconv")
9
+ .description("Convert and compress fonts (.ttf, .otf, .eot, .svg, .woff, .woff2).")
10
+ .version("0.0.1");
11
+ program
12
+ .argument("<input>", "Path of input font file")
13
+ .argument("<output>", "Path of output font file")
14
+ .option("--text <string>", "characters to compress")
15
+ .option("--text-file <path>", "Path of line separated character file to compress")
16
+ .option("--code <string>", "comma separated codepoints to compress")
17
+ .option("--code-file <path>", "Path of line separated codepoint file to compress");
18
+ program.parse();
19
+ const inPath = program.args[0];
20
+ const outPath = program.args[1];
21
+ const options = program.opts();
22
+ async function main() {
23
+ const inFormat = extname(inPath);
24
+ const inFont = (inFormat === ".svg")
25
+ ? dntShim.Deno.readTextFileSync(inPath)
26
+ : dntShim.Deno.readFileSync(inPath);
27
+ const outFormat = extname(outPath);
28
+ const outFont = await convert(inFont, outFormat, options);
29
+ if (outFormat === ".svg") {
30
+ dntShim.Deno.writeTextFileSync(outPath, outFont);
31
+ }
32
+ else {
33
+ dntShim.Deno.writeFileSync(outPath, outFont);
34
+ }
35
+ }
36
+ main();
@@ -0,0 +1,10 @@
1
+ export function isOTF(uint8Array: any): boolean;
2
+ export function isTTF(uint8Array: any): boolean;
3
+ export function isEOT(uint8Array: any): boolean;
4
+ export function isSVG(object: any): boolean;
5
+ export function isWOFF(uint8Array: any): boolean;
6
+ export function isWOFF2(uint8Array: any): boolean;
7
+ export function otf2ttf(otf: any): any;
8
+ export function getFont(fontContent: any): Promise<any>;
9
+ export function filterGlyphs(font: any, options: any): any;
10
+ export function convert(fontContent: any, format: any, options: any): Promise<any>;