ft-ffi 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.md +20 -20
  3. data/lib/ft-ffi.rb +18 -36
  4. data/lib/ft-ffi/config.rb +96 -79
  5. data/lib/ft-ffi/enum/auto_hinter_script.rb +5 -11
  6. data/lib/ft-ffi/enum/bdf_pcf/property_type.rb +9 -11
  7. data/lib/ft-ffi/enum/cff_hinting.rb +6 -0
  8. data/lib/ft-ffi/enum/encoding.rb +31 -18
  9. data/lib/ft-ffi/enum/face_flag.rb +22 -20
  10. data/lib/ft-ffi/enum/fstype.rb +13 -0
  11. data/lib/ft-ffi/enum/gasp_table.rb +11 -13
  12. data/lib/ft-ffi/enum/glyph_bbox_mode.rb +5 -9
  13. data/lib/ft-ffi/enum/{glyph_format.rb → image/glyph_format.rb} +9 -11
  14. data/lib/ft-ffi/enum/image/pixel_mode.rb +17 -0
  15. data/lib/ft-ffi/enum/{raster_params_flag.rb → image/raster_params_flag.rb} +9 -11
  16. data/lib/ft-ffi/enum/kerning_mode.rb +8 -8
  17. data/lib/ft-ffi/enum/lcd_filter.rb +13 -15
  18. data/lib/ft-ffi/enum/load_flag.rb +28 -19
  19. data/lib/ft-ffi/enum/load_target.rb +13 -0
  20. data/lib/ft-ffi/enum/module_bit_flag.rb +17 -19
  21. data/lib/ft-ffi/enum/open_args_flag.rb +10 -12
  22. data/lib/ft-ffi/enum/outline_flag.rb +18 -20
  23. data/lib/ft-ffi/enum/outline_orientation.rb +11 -13
  24. data/lib/ft-ffi/enum/postscript/blend_flags.rb +22 -24
  25. data/lib/ft-ffi/enum/postscript/dict_keys.rb +59 -61
  26. data/lib/ft-ffi/enum/postscript/enconding_type.rb +10 -12
  27. data/lib/ft-ffi/enum/render_mode.rb +4 -6
  28. data/lib/ft-ffi/enum/sfnt_tag.rb +15 -17
  29. data/lib/ft-ffi/enum/size_request_type.rb +12 -13
  30. data/lib/ft-ffi/enum/slot_internal_flag.rb +2 -4
  31. data/lib/ft-ffi/enum/stroker/border.rb +5 -0
  32. data/lib/ft-ffi/enum/{stroker_linecap.rb → stroker/linecap.rb} +8 -10
  33. data/lib/ft-ffi/enum/{stroker_linejoin.rb → stroker/linejoin.rb} +10 -12
  34. data/lib/ft-ffi/enum/style_flag.rb +8 -10
  35. data/lib/ft-ffi/enum/subglyph_flag.rb +13 -15
  36. data/lib/ft-ffi/enum/true_type/adobe_id.rb +10 -12
  37. data/lib/ft-ffi/enum/true_type/apple_id.rb +12 -14
  38. data/lib/ft-ffi/enum/true_type/intrepreter_version.rb +6 -0
  39. data/lib/ft-ffi/enum/true_type/iso_id.rb +9 -11
  40. data/lib/ft-ffi/enum/true_type/mac_id.rb +40 -42
  41. data/lib/ft-ffi/enum/true_type/mac_langid.rb +127 -0
  42. data/lib/ft-ffi/enum/true_type/ms_id.rb +15 -16
  43. data/lib/ft-ffi/enum/true_type/ms_langid.rb +251 -0
  44. data/lib/ft-ffi/enum/true_type/platform.rb +12 -14
  45. data/lib/ft-ffi/enum/true_type/true_type_engine_type.rb +4 -10
  46. data/lib/ft-ffi/enum/validate_open_type.rb +13 -14
  47. data/lib/ft-ffi/enum/validation_level.rb +8 -10
  48. data/lib/ft-ffi/enum/winfnt_id.rb +24 -26
  49. data/lib/ft-ffi/function/bitmap_handling.rb +41 -38
  50. data/lib/ft-ffi/function/cache.rb +140 -131
  51. data/lib/ft-ffi/function/char_map.rb +8 -20
  52. data/lib/ft-ffi/function/cid_fonts.rb +21 -18
  53. data/lib/ft-ffi/function/computation.rb +110 -119
  54. data/lib/ft-ffi/function/face.rb +225 -217
  55. data/lib/ft-ffi/function/font_formats.rb +12 -10
  56. data/lib/ft-ffi/function/glyph_management.rb +44 -39
  57. data/lib/ft-ffi/function/glyph_slot.rb +35 -40
  58. data/lib/ft-ffi/function/glyph_stroker.rb +109 -97
  59. data/lib/ft-ffi/function/gzip.rb +25 -19
  60. data/lib/ft-ffi/function/lcd_filtering.rb +19 -13
  61. data/lib/ft-ffi/function/library.rb +12 -10
  62. data/lib/ft-ffi/function/list.rb +49 -42
  63. data/lib/ft-ffi/function/module_management.rb +86 -97
  64. data/lib/ft-ffi/function/multiple_master.rb +67 -28
  65. data/lib/ft-ffi/function/open_type.rb +20 -17
  66. data/lib/ft-ffi/function/outline.rb +100 -86
  67. data/lib/ft-ffi/function/pfr.rb +25 -30
  68. data/lib/ft-ffi/function/postscript.rb +33 -29
  69. data/lib/ft-ffi/function/sfont.rb +26 -18
  70. data/lib/ft-ffi/function/size.rb +22 -19
  71. data/lib/ft-ffi/function/stream.rb +8 -124
  72. data/lib/ft-ffi/function/system.rb +10 -10
  73. data/lib/ft-ffi/function/true_type.rb +42 -36
  74. data/lib/ft-ffi/function/ttgx.rb +29 -25
  75. data/lib/ft-ffi/function/version.rb +20 -19
  76. data/lib/ft-ffi/function/win_fnt.rb +8 -8
  77. data/lib/ft-ffi/lib_base.rb +211 -203
  78. data/lib/ft-ffi/macro/basic_type.rb +16 -18
  79. data/lib/ft-ffi/macro/cache.rb +4 -6
  80. data/lib/ft-ffi/macro/error.rb +32 -17
  81. data/lib/ft-ffi/macro/face.rb +78 -0
  82. data/lib/ft-ffi/macro/list.rb +8 -0
  83. data/lib/ft-ffi/macro/module.rb +23 -25
  84. data/lib/ft-ffi/struct/bdf/property_rec.rb +26 -14
  85. data/lib/ft-ffi/struct/char_map_rec.rb +24 -15
  86. data/lib/ft-ffi/struct/cmap_class_rec.rb +53 -31
  87. data/lib/ft-ffi/struct/cmap_rec.rb +15 -10
  88. data/lib/ft-ffi/struct/data.rb +10 -7
  89. data/lib/ft-ffi/struct/driver_class_rec.rb +80 -49
  90. data/lib/ft-ffi/struct/driver_rec.rb +22 -13
  91. data/lib/ft-ffi/struct/face_internal_rec.rb +27 -14
  92. data/lib/ft-ffi/struct/face_rec.rb +131 -66
  93. data/lib/ft-ffi/struct/frame_field.rb +13 -8
  94. data/lib/ft-ffi/struct/ftc_image_type_rec.rb +19 -10
  95. data/lib/ft-ffi/struct/ftc_sbit_rec.rb +37 -18
  96. data/lib/ft-ffi/struct/ftc_scaler_rec.rb +24 -11
  97. data/lib/ft-ffi/struct/generic.rb +22 -17
  98. data/lib/ft-ffi/struct/glyph/bitmap_glyph_rec.rb +27 -0
  99. data/lib/ft-ffi/struct/glyph/class.rb +41 -0
  100. data/lib/ft-ffi/struct/glyph/load_rec.rb +24 -0
  101. data/lib/ft-ffi/struct/glyph/loader_rec.rb +34 -0
  102. data/lib/ft-ffi/struct/glyph/metrics.rb +38 -0
  103. data/lib/ft-ffi/struct/glyph/outline_glyph_rec.rb +23 -0
  104. data/lib/ft-ffi/struct/glyph/rec.rb +30 -0
  105. data/lib/ft-ffi/struct/glyph/slot_rec.rb +99 -0
  106. data/lib/ft-ffi/struct/{bbox.rb → image/bbox.rb} +25 -18
  107. data/lib/ft-ffi/struct/image/bitmap.rb +40 -0
  108. data/lib/ft-ffi/struct/image/bitmap_size.rb +25 -0
  109. data/lib/ft-ffi/struct/image/outline.rb +30 -0
  110. data/lib/ft-ffi/struct/{outline_funcs.rb → image/outline_funcs.rb} +39 -26
  111. data/lib/ft-ffi/struct/image/raster_funcs.rb +33 -0
  112. data/lib/ft-ffi/struct/image/raster_params.rb +45 -0
  113. data/lib/ft-ffi/struct/{span.rb → image/span.rb} +14 -9
  114. data/lib/ft-ffi/struct/{vector.rb → image/vector.rb} +19 -14
  115. data/lib/ft-ffi/struct/incremental/funcs_rec.rb +23 -0
  116. data/lib/ft-ffi/struct/incremental/interface_rec.rb +14 -0
  117. data/lib/ft-ffi/struct/incremental/metrics_rec.rb +18 -0
  118. data/lib/ft-ffi/struct/library_rec.rb +56 -33
  119. data/lib/ft-ffi/struct/list/node_rec.rb +14 -0
  120. data/lib/ft-ffi/struct/{list_rec.rb → list/rec.rb} +26 -21
  121. data/lib/ft-ffi/struct/matrix.rb +25 -16
  122. data/lib/ft-ffi/struct/memory_rec.rb +23 -14
  123. data/lib/ft-ffi/struct/module/class.rb +45 -0
  124. data/lib/ft-ffi/struct/module/rec.rb +19 -0
  125. data/lib/ft-ffi/struct/multiple_masters/{multiple_masters_axis.rb → mm_axis.rb} +14 -9
  126. data/lib/ft-ffi/struct/multiple_masters/mm_var.rb +24 -0
  127. data/lib/ft-ffi/struct/multiple_masters/multi_master.rb +18 -11
  128. data/lib/ft-ffi/struct/multiple_masters/var_axis.rb +23 -12
  129. data/lib/ft-ffi/struct/multiple_masters/var_named_style.rb +14 -8
  130. data/lib/ft-ffi/struct/open_args.rb +33 -16
  131. data/lib/ft-ffi/struct/parameter.rb +16 -11
  132. data/lib/ft-ffi/struct/postscript/blend_rec.rb +57 -0
  133. data/lib/ft-ffi/struct/postscript/cid_face_dict_rec.rb +49 -0
  134. data/lib/ft-ffi/struct/postscript/cid_face_info_rec.rb +68 -31
  135. data/lib/ft-ffi/struct/postscript/design_map.rb +14 -0
  136. data/lib/ft-ffi/struct/postscript/font_info_rec.rb +32 -15
  137. data/lib/ft-ffi/struct/postscript/private_rec.rb +90 -41
  138. data/lib/ft-ffi/struct/prop_glyph_to_script_map.rb +13 -7
  139. data/lib/ft-ffi/struct/prop_increase_x_height.rb +13 -7
  140. data/lib/ft-ffi/struct/renderer/class.rb +42 -0
  141. data/lib/ft-ffi/struct/renderer/rec.rb +35 -0
  142. data/lib/ft-ffi/struct/service_cache_rec.rb +19 -10
  143. data/lib/ft-ffi/struct/service_desc_rec.rb +10 -7
  144. data/lib/ft-ffi/struct/sfnt/lang_tag.rb +11 -0
  145. data/lib/ft-ffi/struct/sfnt/name.rb +25 -0
  146. data/lib/ft-ffi/struct/{size_metrics.rb → size/metrics.rb} +34 -17
  147. data/lib/ft-ffi/struct/size/rec.rb +29 -0
  148. data/lib/ft-ffi/struct/size/request_rec.rb +22 -0
  149. data/lib/ft-ffi/struct/slot_internal_rec.rb +27 -15
  150. data/lib/ft-ffi/struct/{stream_desc.rb → stream/desc.rb} +11 -8
  151. data/lib/ft-ffi/struct/stream/rec.rb +45 -0
  152. data/lib/ft-ffi/struct/stubs.rb +12 -14
  153. data/lib/ft-ffi/struct/sub_glyph_rec.rb +22 -11
  154. data/lib/ft-ffi/struct/true_type/header.rb +62 -29
  155. data/lib/ft-ffi/struct/true_type/hori_header.rb +58 -27
  156. data/lib/ft-ffi/struct/true_type/max_profile.rb +49 -20
  157. data/lib/ft-ffi/struct/true_type/os2.rb +129 -52
  158. data/lib/ft-ffi/struct/true_type/pclt.rb +49 -20
  159. data/lib/ft-ffi/struct/true_type/postscript.rb +32 -15
  160. data/lib/ft-ffi/struct/true_type/vert_header.rb +58 -27
  161. data/lib/ft-ffi/struct/unit_vector.rb +19 -14
  162. data/lib/ft-ffi/struct/validator_rec.rb +18 -9
  163. data/lib/ft-ffi/struct/win_fnt_header_rec.rb +113 -42
  164. data/lib/ft-ffi/typedef/ftc_face_id.rb +3 -5
  165. data/lib/ft-ffi/version.rb +2 -2
  166. metadata +66 -63
  167. data/FTL.TXT +0 -169
  168. data/lib/freetype27.dll +0 -0
  169. data/lib/ft-ffi/constant/cff_hinting.rb +0 -10
  170. data/lib/ft-ffi/enum/pixel_mode.rb +0 -17
  171. data/lib/ft-ffi/enum/stroker_border.rb +0 -10
  172. data/lib/ft-ffi/function/glyph.rb +0 -16
  173. data/lib/ft-ffi/function/glyph_loader.rb +0 -37
  174. data/lib/ft-ffi/function/memory.rb +0 -55
  175. data/lib/ft-ffi/function/resource_fork.rb +0 -35
  176. data/lib/ft-ffi/function/validator.rb +0 -13
  177. data/lib/ft-ffi/struct/bitmap.rb +0 -23
  178. data/lib/ft-ffi/struct/bitmap_glyph_rec.rb +0 -18
  179. data/lib/ft-ffi/struct/bitmap_size.rb +0 -17
  180. data/lib/ft-ffi/struct/glyph/glyph_class.rb +0 -23
  181. data/lib/ft-ffi/struct/glyph/glyph_load_rec.rb +0 -13
  182. data/lib/ft-ffi/struct/glyph/glyph_loader_rec.rb +0 -17
  183. data/lib/ft-ffi/struct/glyph/glyph_metrics.rb +0 -23
  184. data/lib/ft-ffi/struct/glyph/glyph_rec.rb +0 -22
  185. data/lib/ft-ffi/struct/glyph/glyph_slot_rec.rb +0 -51
  186. data/lib/ft-ffi/struct/incremental_funcs_rec.rb +0 -15
  187. data/lib/ft-ffi/struct/incremental_interface_rec.rb +0 -8
  188. data/lib/ft-ffi/struct/incremental_metrics_rec.rb +0 -10
  189. data/lib/ft-ffi/struct/list_node_rec.rb +0 -7
  190. data/lib/ft-ffi/struct/module_class.rb +0 -26
  191. data/lib/ft-ffi/struct/module_rec.rb +0 -12
  192. data/lib/ft-ffi/struct/multiple_masters/multiple_master_var.rb +0 -13
  193. data/lib/ft-ffi/struct/outline.rb +0 -18
  194. data/lib/ft-ffi/struct/outline_glyph_rec.rb +0 -17
  195. data/lib/ft-ffi/struct/postscript/cid_face_dict_rect.rb +0 -24
  196. data/lib/ft-ffi/struct/raster_funcs.rb +0 -20
  197. data/lib/ft-ffi/struct/raster_params.rb +0 -28
  198. data/lib/ft-ffi/struct/renderer_class.rb +0 -27
  199. data/lib/ft-ffi/struct/renderer_rec.rb +0 -21
  200. data/lib/ft-ffi/struct/sfnt_name.rb +0 -14
  201. data/lib/ft-ffi/struct/size_rec.rb +0 -20
  202. data/lib/ft-ffi/struct/size_request_rec.rb +0 -11
  203. data/lib/ft-ffi/struct/stream_rec.rb +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 11796eafe482d26fd91deff6d719183d58644bce
4
- data.tar.gz: 34f944ca743640fa9a82e56c757c5bbee84d25b3
2
+ SHA256:
3
+ metadata.gz: 864518aad761659860910d037af50f179b44da7aba6c9f7f273cf492ce7de204
4
+ data.tar.gz: 0bea8beab6407496f1877a72df1a23a3ef7b3fb755155280beab7a96254de2ea
5
5
  SHA512:
6
- metadata.gz: c13522a01a285aaa8927a7d5e8fda52457db4155646b9096e34d580995ccf1db7500c70da93d049f1e67874603f6c778dbc37f1e8c9c3fb092bd7009949e046d
7
- data.tar.gz: 6d9294a9a52bcef66c55da061b371f6b8715e0e7def512c499eed8b3b8c507678a747fcaa5fe27172e9a871197cc21f281a2f5b864c68a4437989a30fcb65e58
6
+ metadata.gz: 60e6118e92083352c6c294e2d9e1564ffec0eb5f0867fc2476ca4cd997608b47088561ab76653174861883549d16fb8b813759ed7f70b7797d306f49f25f9e84
7
+ data.tar.gz: 15947ca7b9bdf1ff870fda9f546e8afaba1a041149a8e4521cc98c3d01499e1e439ee3da0e6e887821d4cc016537d1918a7e2908ee28a3a49221ca0e1f9cba10
data/LICENSE.md CHANGED
@@ -1,21 +1,21 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 Pedro Miranda
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Pedro Miranda
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
@@ -1,36 +1,18 @@
1
- require_relative 'ft-ffi/version'
2
- require 'ffi-additions/struct'
3
- require 'ft-ffi/config'
4
-
5
- module FT
6
- class FreeTypeError < StandardError; end
7
- require_relative 'ft-ffi/lib_base'
8
-
9
- extend LibBase
10
-
11
- require 'ft-ffi/struct/stubs'
12
- require 'ft-ffi/struct/library_rec'
13
- require 'ft-ffi/struct/service_desc_rec'
14
- require 'ft-ffi/struct/glyph/glyph_metrics'
15
-
16
- if CONFIG_OPTION[:ENVIRONMENT_PROPERTIES]
17
- # FT_Error ft_property_string_set(
18
- # FT_Library library,
19
- # const FT_String* module_name,
20
- # const FT_String* property_name,
21
- # FT_String* value );
22
- attach_function 'property_string_set', 'ft_property_string_set', [LibraryRec.ptr, :string, :string, :string], :FT_Error
23
-
24
- # FT_Pointer ft_service_list_lookup( FT_ServiceDesc service_descriptors, const char* service_id );
25
- attach_function 'service_list_lookup', 'ft_service_list_lookup', [ServiceDescRec.ptr, :string], :FT_Pointer
26
-
27
- # void ft_synthesize_vertical_metrics( FT_Glyph_Metrics* metrics, FT_Pos advance );
28
- attach_function 'synthesize_vertical_metrics', 'ft_synthesize_vertical_metrics', [Glyph_Metrics.ptr, :FT_Pos], :void
29
- end
30
-
31
- # TODO use FT_Library_Version
32
- # FREETYPE_MAJOR = 2
33
- # FREETYPE_MINOR = 6
34
- # FREETYPE_PATCH = 5
35
-
36
- end
1
+ require 'ffi-additions/struct'
2
+
3
+ module FT
4
+ class FreeTypeError < StandardError; end
5
+ end
6
+
7
+ require_relative 'ft-ffi/version'
8
+ require_relative 'ft-ffi/config'
9
+ require_relative 'ft-ffi/lib_base'
10
+ require_relative 'ft-ffi/struct/stubs'
11
+ require_relative 'ft-ffi/struct/library_rec'
12
+ require_relative 'ft-ffi/struct/service_desc_rec'
13
+ require_relative 'ft-ffi/struct/glyph/metrics'
14
+
15
+ # TODO use FT_Library_Version
16
+ #define FREETYPE_MAJOR 2
17
+ #define FREETYPE_MINOR 9
18
+ #define FREETYPE_PATCH 1
@@ -1,79 +1,96 @@
1
- module FT
2
- CONFIG_OPTION = {}
3
-
4
- CONFIG_OPTION[:ENVIRONMENT_PROPERTIES] = true
5
- CONFIG_OPTION[:SUBPIXEL_RENDERING] = false
6
- CONFIG_OPTION[:FORCE_INT64] = false
7
- CONFIG_OPTION[:INLINE_MULFIX] = true
8
- CONFIG_OPTION[:USE_LZW] = true
9
- CONFIG_OPTION[:USE_ZLIB] = true
10
- CONFIG_OPTION[:SYSTEM_ZLIB] = false
11
- CONFIG_OPTION[:USE_BZIP2] = false
12
- CONFIG_OPTION[:DISABLE_STREAM_SUPPORT] = false
13
- CONFIG_OPTION[:USE_PNG] = false
14
- CONFIG_OPTION[:USE_HARFBUZZ] = false
15
- CONFIG_OPTION[:POSTSCRIPT_NAMES] = true
16
- CONFIG_OPTION[:ADOBE_GLYPH_LIST] = true
17
- CONFIG_OPTION[:MAC_FONTS] = true
18
- CONFIG_OPTION[:GUESSING_EMBEDDED_RFORK] = CONFIG_OPTION[:MAC_FONTS]
19
- CONFIG_OPTION[:INCREMENTAL] = true
20
- CONFIG_OPTION[:USE_MODULE_ERRORS] = false
21
- CONFIG_OPTION[:PIC] = false
22
- CONFIG_OPTION[:ENVIRONMENT_PROPERTIES] = true
23
- CONFIG_OPTION[:NO_DEFAULT_SYSTEM] = false
24
-
25
- RENDER_POOL_SIZE = 16384
26
-
27
- # DEBUG_LEVEL = ERROR
28
- # DEBUG_LEVEL = DEBUG
29
- DEBUG_AUTOFIT = false
30
- DEBUG_MEMORY = false
31
-
32
- module TT
33
- CONFIG_OPTION[:EMBEDDED_BITMAPS] = true
34
- CONFIG_OPTION[:POSTSCRIPT_NAMES] = true
35
- CONFIG_OPTION[:SFNT_NAMES] = true
36
- CONFIG_OPTION[:BYTECODE_INTERPRETER] = true
37
- CONFIG_OPTION[:COMPONENT_OFFSET_SCALED] = true
38
- CONFIG_OPTION[:GX_VAR_SUPPORT] = true
39
- CONFIG_OPTION[:BDF] = true
40
- CONFIG_OPTION[:MAX_RUNNABLE_OPCODES] = 1000000
41
- # CONFIG_OPTION[:SUBPIXEL_HINTING] = 1
42
- # CONFIG_OPTION[:SUBPIXEL_HINTING] = 2
43
-
44
- USE_BYTECODE_INTERPRETER = CONFIG_OPTION[:BYTECODE_INTERPRETER]
45
- CONFIG_OPTION[:SUBPIXEL_HINTING_INFINALITY] = CONFIG_OPTION[:SUBPIXEL_HINTING] == 1
46
- CONFIG_OPTION[:SUBPIXEL_HINTING_MINIMAL] = CONFIG_OPTION[:SUBPIXEL_HINTING] == 2
47
- end
48
-
49
- module T1
50
- MAX_DICT_DEPTH = 5
51
- MAX_SUBRS_CALLS = 16
52
- MAX_CHARSTRINGS_OPERANDS = 256
53
- CONFIG_OPTION[:NO_AFM] = false
54
- CONFIG_OPTION[:NO_MM_SUPPORT] = false
55
- end
56
-
57
- module CFF
58
- CONFIG_OPTION[:DARKENING_PARAMETER_X1] = 500
59
- CONFIG_OPTION[:DARKENING_PARAMETER_Y1] = 400
60
-
61
- CONFIG_OPTION[:DARKENING_PARAMETER_X2] = 1000
62
- CONFIG_OPTION[:DARKENING_PARAMETER_Y2] = 275
63
-
64
- CONFIG_OPTION[:DARKENING_PARAMETER_X3] = 1667
65
- CONFIG_OPTION[:DARKENING_PARAMETER_Y3] = 275
66
-
67
- CONFIG_OPTION[:DARKENING_PARAMETER_X4] = 2333
68
- CONFIG_OPTION[:DARKENING_PARAMETER_Y4] = 0
69
-
70
- CONFIG_OPTION[:OLD_ENGINE] = false
71
- end
72
-
73
- module AF
74
- CONFIG_OPTION[:CJK] = true
75
- CONFIG_OPTION[:INDIC] = true
76
- CONFIG_OPTION[:USE_WARPER] = true
77
- end
78
- end
79
-
1
+ module FT
2
+ CONFIG_OPTION = {
3
+ ENVIRONMENT_PROPERTIES: true,
4
+ SUBPIXEL_RENDERING: false,
5
+ FORCE_INT64: false,
6
+ NO_ASSEMBLER: false,
7
+ INLINE_MULFIX: true,
8
+ USE_LZW: true,
9
+ USE_ZLIB: true,
10
+ SYSTEM_ZLIB: false,
11
+ USE_BZIP2: false,
12
+ DISABLE_STREAM_SUPPORT: false,
13
+ USE_PNG: false,
14
+ USE_HARFBUZZ: false,
15
+ POSTSCRIPT_NAMES: true,
16
+ ADOBE_GLYPH_LIST: true,
17
+ MAC_FONTS: true,
18
+ INCREMENTAL: true
19
+ }
20
+
21
+ CONFIG_OPTION[:GUESSING_EMBEDDED_RFORK] = CONFIG_OPTION[:MAC_FONTS]
22
+
23
+ RENDER_POOL_SIZE = 16384
24
+ MAX_MODULES = 32
25
+ # DEBUG_LEVEL = :ERROR
26
+ # DEBUG_LEVEL = :DEBUG
27
+ DEBUG_AUTOFIT = false
28
+ DEBUG_MEMORY = false
29
+
30
+ CONFIG_OPTION[:USE_MODULE_ERRORS] = false
31
+ CONFIG_OPTION[:PIC] = false
32
+ CONFIG_OPTION[:ENVIRONMENT_PROPERTIES] = true
33
+ CONFIG_OPTION[:NO_DEFAULT_SYSTEM] = false
34
+
35
+ module TT
36
+ CONFIG_OPTION[:EMBEDDED_BITMAPS] = true
37
+ CONFIG_OPTION[:POSTSCRIPT_NAMES] = true
38
+ CONFIG_OPTION[:SFNT_NAMES] = true
39
+ CMAP = {
40
+ FORMAT_0: true,
41
+ FORMAT_2: true,
42
+ FORMAT_4: true,
43
+ FORMAT_6: true,
44
+ FORMAT_8: true,
45
+ FORMAT_10: true,
46
+ FORMAT_12: true,
47
+ FORMAT_13: true,
48
+ FORMAT_14: true,
49
+ }
50
+
51
+ CONFIG_OPTION[:BYTECODE_INTERPRETER] = true
52
+ # CONFIG_OPTION[:SUBPIXEL_HINTING] = 1
53
+ CONFIG_OPTION[:SUBPIXEL_HINTING] = 2
54
+ CONFIG_OPTION[:COMPONENT_OFFSET_SCALED] = true
55
+ CONFIG_OPTION[:GX_VAR_SUPPORT] = true
56
+ CONFIG_OPTION[:BDF] = true
57
+ CONFIG_OPTION[:MAX_RUNNABLE_OPCODES] = 1000000
58
+
59
+ USE_BYTECODE_INTERPRETER = CONFIG_OPTION[:BYTECODE_INTERPRETER]
60
+ CONFIG_OPTION[:SUBPIXEL_HINTING_INFINALITY] = CONFIG_OPTION[:SUBPIXEL_HINTING] == 1
61
+ CONFIG_OPTION[:SUBPIXEL_HINTING_MINIMAL] = CONFIG_OPTION[:SUBPIXEL_HINTING] == 2
62
+ end
63
+
64
+ module T1
65
+ MAX_DICT_DEPTH = 5
66
+ MAX_SUBRS_CALLS = 16
67
+ MAX_CHARSTRINGS_OPERANDS = 256
68
+ CONFIG_OPTION[:NO_AFM] = false
69
+ CONFIG_OPTION[:NO_MM_SUPPORT] = false
70
+ CONFIG_OPTION[:OLD_ENGINE] = false
71
+ end
72
+
73
+ module CFF
74
+ CONFIG_OPTION[:DARKENING_PARAMETER_X1] = 500
75
+ CONFIG_OPTION[:DARKENING_PARAMETER_Y1] = 400
76
+
77
+ CONFIG_OPTION[:DARKENING_PARAMETER_X2] = 1000
78
+ CONFIG_OPTION[:DARKENING_PARAMETER_Y2] = 275
79
+
80
+ CONFIG_OPTION[:DARKENING_PARAMETER_X3] = 1667
81
+ CONFIG_OPTION[:DARKENING_PARAMETER_Y3] = 275
82
+
83
+ CONFIG_OPTION[:DARKENING_PARAMETER_X4] = 2333
84
+ CONFIG_OPTION[:DARKENING_PARAMETER_Y4] = 0
85
+
86
+ CONFIG_OPTION[:OLD_ENGINE] = false
87
+ end
88
+
89
+ module AF
90
+ CONFIG_OPTION[:CJK] = true
91
+ CONFIG_OPTION[:INDIC] = true
92
+ CONFIG_OPTION[:USE_WARPER] = true
93
+ CONFIG_OPTION[:TT_SIZE_METRICS] = false
94
+ end
95
+ end
96
+
@@ -1,12 +1,6 @@
1
- require 'ft-ffi'
2
-
3
- module FT
4
- AutohinterScript = enum :autohinter_script, [
5
- :NONE, 0,
6
- :LATIN, 1,
7
- :CJK, 2,
8
- :INDIC, 3
9
- ]
10
-
11
- define_prefix(:AUTOHINTER_SCRIPT, AutohinterScript)
1
+ module FT
2
+ # https://www.freetype.org/freetype2/docs/reference/ft2-properties.html#FT_AUTOHINTER_SCRIPT_XXX
3
+ AutohinterScript = enum :autohinter_script, [:NONE, 0, :LATIN, 1, :CJK, 2, :INDIC, 3]
4
+
5
+ define_prefix(:AUTOHINTER_SCRIPT, AutohinterScript)
12
6
  end
@@ -1,12 +1,10 @@
1
- require 'ft-ffi'
2
-
3
- module FT
4
- PropertyType = enum :property_type, [
5
- :NONE, 0,
6
- :ATOM, 1,
7
- :INTEGER, 2,
8
- :CARDINAL, 3
9
- ]
10
-
11
- # define_prefix(:BDF_PROPERTY_TYPE, PropertyType)
1
+ module FT
2
+ PropertyType = enum :property_type, [
3
+ :NONE, 0,
4
+ :ATOM, 1,
5
+ :INTEGER, 2,
6
+ :CARDINAL, 3
7
+ ]
8
+
9
+ define_prefix(:BDF_PROPERTY_TYPE, PropertyType)
12
10
  end
@@ -0,0 +1,6 @@
1
+ module FT
2
+ # https://www.freetype.org/freetype2/docs/reference/ft2-properties.html#FT_HINTING_XXX
3
+ CFFHinting = enum :cff_hinting, [:FREETYPE, 0, :ADOBE, 1]
4
+
5
+ define_prefix(:CFF_HINTING, CFFHinting)
6
+ end
@@ -1,19 +1,32 @@
1
- require 'ft-ffi'
2
-
3
- module FT
4
- Encoding = enum :encoding, [
5
- :MS_SYMBOL, 0x73796d62, #'symb'
6
- :UNICODE, 0x756e6963, #'unic'
7
- :SJIS, 0x736a6973, #'sjis'
8
- :GB2312, 0x67622020, #'gb '
9
- :BIG5, 0x62696735, #'big5'
10
- :WANSUNG, 0x77616e73, #'wans'
11
- :JOHAB, 0x6a6f6861, #'joha'
12
- :ADOBE_STANDARD, 0x41444f42, #'ADOB'
13
- :ADOBE_EXPERT, 0x41444245, #'ADBE'
14
- :ADOBE_CUSTOM, 0x41444243, #'ADBC'
15
- :ADOBE_LATIN_1, 0x6c617431, #'lat1'
16
- :OLD_LATIN_2, 0x6c617432, #'lat2'
17
- :APPLE_ROMAN, 0x61726d6e, #'armn'
18
- ]
1
+ module FT
2
+ Encoding = enum :encoding, [
3
+ :NONE, 0x00000000,
4
+
5
+ :MS_SYMBOL, 0x73796d62, # 'symb'
6
+ :UNICODE, 0x756e6963, # 'unic'
7
+
8
+ :MS_SJIS, 0x736a6973, # backward compatibility
9
+ :MS_GB2312, 0x67622020, # backward compatibility
10
+ :GB2312, 0x67622020, # backward compatibility
11
+ :MS_BIG5, 0x62696735, # backward compatibility
12
+ :MS_WANSUNG, 0x77616e73, # backward compatibility
13
+ :MS_JOHAB, 0x6a6f6861, # 'joha'
14
+
15
+ :PRC, 0x67622020, # 'gb '
16
+ :SJIS, 0x736a6973, # 'sjis'
17
+ :BIG5, 0x62696735, # 'big5'
18
+ :WANSUNG, 0x77616e73, # 'wans'
19
+ :JOHAB, 0x6a6f6861, # 'joha'
20
+
21
+ :ADOBE_STANDARD, 0x41444f42, # 'ADOB'
22
+ :ADOBE_EXPERT, 0x41444245, # 'ADBE'
23
+ :ADOBE_CUSTOM, 0x41444243, # 'ADBC'
24
+ :ADOBE_LATIN_1, 0x6c617431, # 'lat1'
25
+
26
+ :OLD_LATIN_2, 0x6c617432, # 'lat2'
27
+
28
+ :APPLE_ROMAN, 0x61726d6e, # 'armn'
29
+ ]
30
+
31
+ define_prefix(:ENCODING, Encoding)
19
32
  end
@@ -1,21 +1,23 @@
1
- require 'ft-ffi'
2
-
3
- module FT
4
- # https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_FACE_FLAG_XXX
5
- FaceFlag = enum :face_flag, [
6
- :SCALABLE, 0x0001,
7
- :FIXED_SIZES, 0x0002,
8
- :FIXED_WIDTH, 0x0004,
9
- :SFNT, 0x0008,
10
- :HORIZONTAL, 0x0010,
11
- :VERTICAL, 0x0020,
12
- :KERNING, 0x0040,
13
- :FAST_GLYPHS, 0x0080,
14
- :MULTIPLE_MASTERS, 0x0100,
15
- :GLYPH_NAMES, 0x0200,
16
- :EXTERNAL_STREAM, 0x0400,
17
- :HINTER, 0x0800,
18
- :CID_KEYED, 0x1000,
19
- :TRICKY, 0x2000
20
- ]
1
+ module FT
2
+ # https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_FACE_FLAG_XXX
3
+ FaceFlag = enum Long, :face_flag, [
4
+ :SCALABLE, 0x0001,
5
+ :FIXED_SIZES, 0x0002,
6
+ :FIXED_WIDTH, 0x0004,
7
+ :SFNT, 0x0008,
8
+ :HORIZONTAL, 0x0010,
9
+ :VERTICAL, 0x0020,
10
+ :KERNING, 0x0040,
11
+ :FAST_GLYPHS, 0x0080,
12
+ :MULTIPLE_MASTERS, 0x0100,
13
+ :GLYPH_NAMES, 0x0200,
14
+ :EXTERNAL_STREAM, 0x0400,
15
+ :HINTER, 0x0800,
16
+ :CID_KEYED, 0x1000,
17
+ :TRICKY, 0x2000,
18
+ :COLOR, 0x4000,
19
+ :VARIATION, 0x8000
20
+ ]
21
+
22
+ define_prefix(:FACE_FLAG, FaceFlag)
21
23
  end
@@ -0,0 +1,13 @@
1
+ module FT
2
+ # https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_FSTYPE_XXX
3
+ FSType = enum Long, :fstype, [
4
+ :INSTALLABLE_EMBEDDING, 0x0000,
5
+ :RESTRICTED_LICENSE_EMBEDDING, 0x0002,
6
+ :PREVIEW_AND_PRINT_EMBEDDING, 0x0004,
7
+ :EDITABLE_EMBEDDING, 0x0008,
8
+ :NO_SUBSETTING, 0x0100,
9
+ :BITMAP_EMBEDDING_ONLY, 0x0200,
10
+ ]
11
+
12
+ define_prefix(:FSTYPE, FSType)
13
+ end
@@ -1,14 +1,12 @@
1
- require 'ft-ffi'
2
-
3
- module FT
4
- # https://www.freetype.org/freetype2/docs/reference/ft2-gasp_table.html#FT_GASP_XXX
5
- GaspTable = enum :gasp_table, [
6
- :NO_TABLE, -1,
7
- :DO_GRIDFIT, 0x01,
8
- :DO_GRAY, 0x02,
9
- :SYMMETRIC_SMOOTHING, 0x08,
10
- :SYMMETRIC_GRIDFIT, 0x10,
11
- ]
12
-
13
- # define_prefix(:GASP, GaspTable)
1
+ module FT
2
+ # https://www.freetype.org/freetype2/docs/reference/ft2-gasp_table.html#FT_GASP_XXX
3
+ GaspTable = enum :gasp_table, [
4
+ :NO_TABLE, -1,
5
+ :DO_GRIDFIT, 0x01,
6
+ :DO_GRAY, 0x02,
7
+ :SYMMETRIC_SMOOTHING, 0x08,
8
+ :SYMMETRIC_GRIDFIT, 0x10,
9
+ ]
10
+
11
+ define_prefix(:GASP, GaspTable)
14
12
  end