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.
- checksums.yaml +5 -5
- data/LICENSE.md +20 -20
- data/lib/ft-ffi.rb +18 -36
- data/lib/ft-ffi/config.rb +96 -79
- data/lib/ft-ffi/enum/auto_hinter_script.rb +5 -11
- data/lib/ft-ffi/enum/bdf_pcf/property_type.rb +9 -11
- data/lib/ft-ffi/enum/cff_hinting.rb +6 -0
- data/lib/ft-ffi/enum/encoding.rb +31 -18
- data/lib/ft-ffi/enum/face_flag.rb +22 -20
- data/lib/ft-ffi/enum/fstype.rb +13 -0
- data/lib/ft-ffi/enum/gasp_table.rb +11 -13
- data/lib/ft-ffi/enum/glyph_bbox_mode.rb +5 -9
- data/lib/ft-ffi/enum/{glyph_format.rb → image/glyph_format.rb} +9 -11
- data/lib/ft-ffi/enum/image/pixel_mode.rb +17 -0
- data/lib/ft-ffi/enum/{raster_params_flag.rb → image/raster_params_flag.rb} +9 -11
- data/lib/ft-ffi/enum/kerning_mode.rb +8 -8
- data/lib/ft-ffi/enum/lcd_filter.rb +13 -15
- data/lib/ft-ffi/enum/load_flag.rb +28 -19
- data/lib/ft-ffi/enum/load_target.rb +13 -0
- data/lib/ft-ffi/enum/module_bit_flag.rb +17 -19
- data/lib/ft-ffi/enum/open_args_flag.rb +10 -12
- data/lib/ft-ffi/enum/outline_flag.rb +18 -20
- data/lib/ft-ffi/enum/outline_orientation.rb +11 -13
- data/lib/ft-ffi/enum/postscript/blend_flags.rb +22 -24
- data/lib/ft-ffi/enum/postscript/dict_keys.rb +59 -61
- data/lib/ft-ffi/enum/postscript/enconding_type.rb +10 -12
- data/lib/ft-ffi/enum/render_mode.rb +4 -6
- data/lib/ft-ffi/enum/sfnt_tag.rb +15 -17
- data/lib/ft-ffi/enum/size_request_type.rb +12 -13
- data/lib/ft-ffi/enum/slot_internal_flag.rb +2 -4
- data/lib/ft-ffi/enum/stroker/border.rb +5 -0
- data/lib/ft-ffi/enum/{stroker_linecap.rb → stroker/linecap.rb} +8 -10
- data/lib/ft-ffi/enum/{stroker_linejoin.rb → stroker/linejoin.rb} +10 -12
- data/lib/ft-ffi/enum/style_flag.rb +8 -10
- data/lib/ft-ffi/enum/subglyph_flag.rb +13 -15
- data/lib/ft-ffi/enum/true_type/adobe_id.rb +10 -12
- data/lib/ft-ffi/enum/true_type/apple_id.rb +12 -14
- data/lib/ft-ffi/enum/true_type/intrepreter_version.rb +6 -0
- data/lib/ft-ffi/enum/true_type/iso_id.rb +9 -11
- data/lib/ft-ffi/enum/true_type/mac_id.rb +40 -42
- data/lib/ft-ffi/enum/true_type/mac_langid.rb +127 -0
- data/lib/ft-ffi/enum/true_type/ms_id.rb +15 -16
- data/lib/ft-ffi/enum/true_type/ms_langid.rb +251 -0
- data/lib/ft-ffi/enum/true_type/platform.rb +12 -14
- data/lib/ft-ffi/enum/true_type/true_type_engine_type.rb +4 -10
- data/lib/ft-ffi/enum/validate_open_type.rb +13 -14
- data/lib/ft-ffi/enum/validation_level.rb +8 -10
- data/lib/ft-ffi/enum/winfnt_id.rb +24 -26
- data/lib/ft-ffi/function/bitmap_handling.rb +41 -38
- data/lib/ft-ffi/function/cache.rb +140 -131
- data/lib/ft-ffi/function/char_map.rb +8 -20
- data/lib/ft-ffi/function/cid_fonts.rb +21 -18
- data/lib/ft-ffi/function/computation.rb +110 -119
- data/lib/ft-ffi/function/face.rb +225 -217
- data/lib/ft-ffi/function/font_formats.rb +12 -10
- data/lib/ft-ffi/function/glyph_management.rb +44 -39
- data/lib/ft-ffi/function/glyph_slot.rb +35 -40
- data/lib/ft-ffi/function/glyph_stroker.rb +109 -97
- data/lib/ft-ffi/function/gzip.rb +25 -19
- data/lib/ft-ffi/function/lcd_filtering.rb +19 -13
- data/lib/ft-ffi/function/library.rb +12 -10
- data/lib/ft-ffi/function/list.rb +49 -42
- data/lib/ft-ffi/function/module_management.rb +86 -97
- data/lib/ft-ffi/function/multiple_master.rb +67 -28
- data/lib/ft-ffi/function/open_type.rb +20 -17
- data/lib/ft-ffi/function/outline.rb +100 -86
- data/lib/ft-ffi/function/pfr.rb +25 -30
- data/lib/ft-ffi/function/postscript.rb +33 -29
- data/lib/ft-ffi/function/sfont.rb +26 -18
- data/lib/ft-ffi/function/size.rb +22 -19
- data/lib/ft-ffi/function/stream.rb +8 -124
- data/lib/ft-ffi/function/system.rb +10 -10
- data/lib/ft-ffi/function/true_type.rb +42 -36
- data/lib/ft-ffi/function/ttgx.rb +29 -25
- data/lib/ft-ffi/function/version.rb +20 -19
- data/lib/ft-ffi/function/win_fnt.rb +8 -8
- data/lib/ft-ffi/lib_base.rb +211 -203
- data/lib/ft-ffi/macro/basic_type.rb +16 -18
- data/lib/ft-ffi/macro/cache.rb +4 -6
- data/lib/ft-ffi/macro/error.rb +32 -17
- data/lib/ft-ffi/macro/face.rb +78 -0
- data/lib/ft-ffi/macro/list.rb +8 -0
- data/lib/ft-ffi/macro/module.rb +23 -25
- data/lib/ft-ffi/struct/bdf/property_rec.rb +26 -14
- data/lib/ft-ffi/struct/char_map_rec.rb +24 -15
- data/lib/ft-ffi/struct/cmap_class_rec.rb +53 -31
- data/lib/ft-ffi/struct/cmap_rec.rb +15 -10
- data/lib/ft-ffi/struct/data.rb +10 -7
- data/lib/ft-ffi/struct/driver_class_rec.rb +80 -49
- data/lib/ft-ffi/struct/driver_rec.rb +22 -13
- data/lib/ft-ffi/struct/face_internal_rec.rb +27 -14
- data/lib/ft-ffi/struct/face_rec.rb +131 -66
- data/lib/ft-ffi/struct/frame_field.rb +13 -8
- data/lib/ft-ffi/struct/ftc_image_type_rec.rb +19 -10
- data/lib/ft-ffi/struct/ftc_sbit_rec.rb +37 -18
- data/lib/ft-ffi/struct/ftc_scaler_rec.rb +24 -11
- data/lib/ft-ffi/struct/generic.rb +22 -17
- data/lib/ft-ffi/struct/glyph/bitmap_glyph_rec.rb +27 -0
- data/lib/ft-ffi/struct/glyph/class.rb +41 -0
- data/lib/ft-ffi/struct/glyph/load_rec.rb +24 -0
- data/lib/ft-ffi/struct/glyph/loader_rec.rb +34 -0
- data/lib/ft-ffi/struct/glyph/metrics.rb +38 -0
- data/lib/ft-ffi/struct/glyph/outline_glyph_rec.rb +23 -0
- data/lib/ft-ffi/struct/glyph/rec.rb +30 -0
- data/lib/ft-ffi/struct/glyph/slot_rec.rb +99 -0
- data/lib/ft-ffi/struct/{bbox.rb → image/bbox.rb} +25 -18
- data/lib/ft-ffi/struct/image/bitmap.rb +40 -0
- data/lib/ft-ffi/struct/image/bitmap_size.rb +25 -0
- data/lib/ft-ffi/struct/image/outline.rb +30 -0
- data/lib/ft-ffi/struct/{outline_funcs.rb → image/outline_funcs.rb} +39 -26
- data/lib/ft-ffi/struct/image/raster_funcs.rb +33 -0
- data/lib/ft-ffi/struct/image/raster_params.rb +45 -0
- data/lib/ft-ffi/struct/{span.rb → image/span.rb} +14 -9
- data/lib/ft-ffi/struct/{vector.rb → image/vector.rb} +19 -14
- data/lib/ft-ffi/struct/incremental/funcs_rec.rb +23 -0
- data/lib/ft-ffi/struct/incremental/interface_rec.rb +14 -0
- data/lib/ft-ffi/struct/incremental/metrics_rec.rb +18 -0
- data/lib/ft-ffi/struct/library_rec.rb +56 -33
- data/lib/ft-ffi/struct/list/node_rec.rb +14 -0
- data/lib/ft-ffi/struct/{list_rec.rb → list/rec.rb} +26 -21
- data/lib/ft-ffi/struct/matrix.rb +25 -16
- data/lib/ft-ffi/struct/memory_rec.rb +23 -14
- data/lib/ft-ffi/struct/module/class.rb +45 -0
- data/lib/ft-ffi/struct/module/rec.rb +19 -0
- data/lib/ft-ffi/struct/multiple_masters/{multiple_masters_axis.rb → mm_axis.rb} +14 -9
- data/lib/ft-ffi/struct/multiple_masters/mm_var.rb +24 -0
- data/lib/ft-ffi/struct/multiple_masters/multi_master.rb +18 -11
- data/lib/ft-ffi/struct/multiple_masters/var_axis.rb +23 -12
- data/lib/ft-ffi/struct/multiple_masters/var_named_style.rb +14 -8
- data/lib/ft-ffi/struct/open_args.rb +33 -16
- data/lib/ft-ffi/struct/parameter.rb +16 -11
- data/lib/ft-ffi/struct/postscript/blend_rec.rb +57 -0
- data/lib/ft-ffi/struct/postscript/cid_face_dict_rec.rb +49 -0
- data/lib/ft-ffi/struct/postscript/cid_face_info_rec.rb +68 -31
- data/lib/ft-ffi/struct/postscript/design_map.rb +14 -0
- data/lib/ft-ffi/struct/postscript/font_info_rec.rb +32 -15
- data/lib/ft-ffi/struct/postscript/private_rec.rb +90 -41
- data/lib/ft-ffi/struct/prop_glyph_to_script_map.rb +13 -7
- data/lib/ft-ffi/struct/prop_increase_x_height.rb +13 -7
- data/lib/ft-ffi/struct/renderer/class.rb +42 -0
- data/lib/ft-ffi/struct/renderer/rec.rb +35 -0
- data/lib/ft-ffi/struct/service_cache_rec.rb +19 -10
- data/lib/ft-ffi/struct/service_desc_rec.rb +10 -7
- data/lib/ft-ffi/struct/sfnt/lang_tag.rb +11 -0
- data/lib/ft-ffi/struct/sfnt/name.rb +25 -0
- data/lib/ft-ffi/struct/{size_metrics.rb → size/metrics.rb} +34 -17
- data/lib/ft-ffi/struct/size/rec.rb +29 -0
- data/lib/ft-ffi/struct/size/request_rec.rb +22 -0
- data/lib/ft-ffi/struct/slot_internal_rec.rb +27 -15
- data/lib/ft-ffi/struct/{stream_desc.rb → stream/desc.rb} +11 -8
- data/lib/ft-ffi/struct/stream/rec.rb +45 -0
- data/lib/ft-ffi/struct/stubs.rb +12 -14
- data/lib/ft-ffi/struct/sub_glyph_rec.rb +22 -11
- data/lib/ft-ffi/struct/true_type/header.rb +62 -29
- data/lib/ft-ffi/struct/true_type/hori_header.rb +58 -27
- data/lib/ft-ffi/struct/true_type/max_profile.rb +49 -20
- data/lib/ft-ffi/struct/true_type/os2.rb +129 -52
- data/lib/ft-ffi/struct/true_type/pclt.rb +49 -20
- data/lib/ft-ffi/struct/true_type/postscript.rb +32 -15
- data/lib/ft-ffi/struct/true_type/vert_header.rb +58 -27
- data/lib/ft-ffi/struct/unit_vector.rb +19 -14
- data/lib/ft-ffi/struct/validator_rec.rb +18 -9
- data/lib/ft-ffi/struct/win_fnt_header_rec.rb +113 -42
- data/lib/ft-ffi/typedef/ftc_face_id.rb +3 -5
- data/lib/ft-ffi/version.rb +2 -2
- metadata +66 -63
- data/FTL.TXT +0 -169
- data/lib/freetype27.dll +0 -0
- data/lib/ft-ffi/constant/cff_hinting.rb +0 -10
- data/lib/ft-ffi/enum/pixel_mode.rb +0 -17
- data/lib/ft-ffi/enum/stroker_border.rb +0 -10
- data/lib/ft-ffi/function/glyph.rb +0 -16
- data/lib/ft-ffi/function/glyph_loader.rb +0 -37
- data/lib/ft-ffi/function/memory.rb +0 -55
- data/lib/ft-ffi/function/resource_fork.rb +0 -35
- data/lib/ft-ffi/function/validator.rb +0 -13
- data/lib/ft-ffi/struct/bitmap.rb +0 -23
- data/lib/ft-ffi/struct/bitmap_glyph_rec.rb +0 -18
- data/lib/ft-ffi/struct/bitmap_size.rb +0 -17
- data/lib/ft-ffi/struct/glyph/glyph_class.rb +0 -23
- data/lib/ft-ffi/struct/glyph/glyph_load_rec.rb +0 -13
- data/lib/ft-ffi/struct/glyph/glyph_loader_rec.rb +0 -17
- data/lib/ft-ffi/struct/glyph/glyph_metrics.rb +0 -23
- data/lib/ft-ffi/struct/glyph/glyph_rec.rb +0 -22
- data/lib/ft-ffi/struct/glyph/glyph_slot_rec.rb +0 -51
- data/lib/ft-ffi/struct/incremental_funcs_rec.rb +0 -15
- data/lib/ft-ffi/struct/incremental_interface_rec.rb +0 -8
- data/lib/ft-ffi/struct/incremental_metrics_rec.rb +0 -10
- data/lib/ft-ffi/struct/list_node_rec.rb +0 -7
- data/lib/ft-ffi/struct/module_class.rb +0 -26
- data/lib/ft-ffi/struct/module_rec.rb +0 -12
- data/lib/ft-ffi/struct/multiple_masters/multiple_master_var.rb +0 -13
- data/lib/ft-ffi/struct/outline.rb +0 -18
- data/lib/ft-ffi/struct/outline_glyph_rec.rb +0 -17
- data/lib/ft-ffi/struct/postscript/cid_face_dict_rect.rb +0 -24
- data/lib/ft-ffi/struct/raster_funcs.rb +0 -20
- data/lib/ft-ffi/struct/raster_params.rb +0 -28
- data/lib/ft-ffi/struct/renderer_class.rb +0 -27
- data/lib/ft-ffi/struct/renderer_rec.rb +0 -21
- data/lib/ft-ffi/struct/sfnt_name.rb +0 -14
- data/lib/ft-ffi/struct/size_rec.rb +0 -20
- data/lib/ft-ffi/struct/size_request_rec.rb +0 -11
- data/lib/ft-ffi/struct/stream_rec.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 864518aad761659860910d037af50f179b44da7aba6c9f7f273cf492ce7de204
|
4
|
+
data.tar.gz: 0bea8beab6407496f1877a72df1a23a3ef7b3fb755155280beab7a96254de2ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
data/lib/ft-ffi.rb
CHANGED
@@ -1,36 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
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
|
data/lib/ft-ffi/config.rb
CHANGED
@@ -1,79 +1,96 @@
|
|
1
|
-
module FT
|
2
|
-
CONFIG_OPTION = {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
CONFIG_OPTION[:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
CONFIG_OPTION[:
|
37
|
-
CONFIG_OPTION[:
|
38
|
-
CONFIG_OPTION[:
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
CONFIG_OPTION[:
|
54
|
-
CONFIG_OPTION[:
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
CONFIG_OPTION[:
|
60
|
-
|
61
|
-
CONFIG_OPTION[:
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
CONFIG_OPTION[:
|
69
|
-
|
70
|
-
CONFIG_OPTION[:OLD_ENGINE] = false
|
71
|
-
end
|
72
|
-
|
73
|
-
module
|
74
|
-
CONFIG_OPTION[:
|
75
|
-
CONFIG_OPTION[:
|
76
|
-
|
77
|
-
|
78
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
:
|
6
|
-
:
|
7
|
-
|
8
|
-
|
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
|
data/lib/ft-ffi/enum/encoding.rb
CHANGED
@@ -1,19 +1,32 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
:MS_SYMBOL, 0x73796d62, #'symb'
|
6
|
-
:UNICODE, 0x756e6963, #'unic'
|
7
|
-
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
14
|
-
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
9
|
-
:
|
10
|
-
:
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
9
|
-
|
10
|
-
|
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
|