Mukho

Notice board for Admin

Showing 751 changed files with 3252 additions and 35 deletions
1 -@ECHO off
2 -SETLOCAL
3 -CALL :find_dp0
4 -
5 -IF EXIST "%dp0%\node.exe" (
6 - SET "_prog=%dp0%\node.exe"
7 -) ELSE (
8 - SET "_prog=node"
9 - SET PATHEXT=%PATHEXT:;.JS;=;%
10 -)
11 -
12 -"%_prog%" "%dp0%\..\prebuild-install\bin.js" %*
13 -ENDLOCAL
14 -EXIT /b %errorlevel%
15 -:find_dp0
16 -SET dp0=%~dp0
17 -EXIT /b
1 -#!/usr/bin/env pwsh
2 -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3 -
4 -$exe=""
5 -if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6 - # Fix case when both the Windows and Linux builds of Node
7 - # are installed in the same directory
8 - $exe=".exe"
9 -}
10 -$ret=0
11 -if (Test-Path "$basedir/node$exe") {
12 - & "$basedir/node$exe" "$basedir/../prebuild-install/bin.js" $args
13 - $ret=$LASTEXITCODE
14 -} else {
15 - & "node$exe" "$basedir/../prebuild-install/bin.js" $args
16 - $ret=$LASTEXITCODE
17 -}
18 -exit $ret
This file is too large to display.
No preview for this file type
1 +PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.26.28801:TargetPlatformVersion=10.0.18362.0:
2 +Release|x64|C:\Users\KoMoGoon\Desktop\oss_project\Singer-Composer\node_modules\sharp\build\|
1 +PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.26.28801:TargetPlatformVersion=10.0.18362.0:
2 +Release|x64|C:\Users\KoMoGoon\Desktop\oss_project\Singer-Composer\node_modules\sharp\build\|
1 +Microsoft Visual Studio Solution File, Format Version 12.00
2 +# Visual Studio 2015
3 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(..)", "..\..", "{36257327-00FE-FF6D-A8D9-AFEE3537DAF0}"
4 +EndProject
5 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(node-addon-api)", "..\..\node-addon-api", "{0210C4AF-85AE-3908-99A8-88A7B4D41FC8}"
6 +EndProject
7 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvips-cpp", "libvips-cpp.vcxproj", "{FD396156-75F7-E088-24D3-179F383FFF5E}"
8 +EndProject
9 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nothing", "..\node-addon-api\nothing.vcxproj", "{DA2C50ED-71BF-66D1-D1F1-F6299F965485}"
10 +EndProject
11 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sharp-win32-x64", "sharp-win32-x64.vcxproj", "{BE182058-17BC-C5F8-CAFE-ED9921EFDC66}"
12 + ProjectSection(ProjectDependencies) = postProject
13 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485} = {DA2C50ED-71BF-66D1-D1F1-F6299F965485}
14 + {FD396156-75F7-E088-24D3-179F383FFF5E} = {FD396156-75F7-E088-24D3-179F383FFF5E}
15 + EndProjectSection
16 +EndProject
17 +Global
18 + GlobalSection(SolutionConfigurationPlatforms) = preSolution
19 + Debug|x64 = Debug|x64
20 + Release|x64 = Release|x64
21 + EndGlobalSection
22 + GlobalSection(ProjectConfigurationPlatforms) = postSolution
23 + {BE182058-17BC-C5F8-CAFE-ED9921EFDC66}.Debug|x64.ActiveCfg = Debug|x64
24 + {BE182058-17BC-C5F8-CAFE-ED9921EFDC66}.Debug|x64.Build.0 = Debug|x64
25 + {BE182058-17BC-C5F8-CAFE-ED9921EFDC66}.Release|x64.ActiveCfg = Release|x64
26 + {BE182058-17BC-C5F8-CAFE-ED9921EFDC66}.Release|x64.Build.0 = Release|x64
27 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Debug|x64.ActiveCfg = Debug|x64
28 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Debug|x64.Build.0 = Debug|x64
29 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Release|x64.ActiveCfg = Release|x64
30 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Release|x64.Build.0 = Release|x64
31 + {FD396156-75F7-E088-24D3-179F383FFF5E}.Debug|x64.ActiveCfg = Debug|x64
32 + {FD396156-75F7-E088-24D3-179F383FFF5E}.Debug|x64.Build.0 = Debug|x64
33 + {FD396156-75F7-E088-24D3-179F383FFF5E}.Release|x64.ActiveCfg = Release|x64
34 + {FD396156-75F7-E088-24D3-179F383FFF5E}.Release|x64.Build.0 = Release|x64
35 + EndGlobalSection
36 + GlobalSection(SolutionProperties) = preSolution
37 + HideSolutionNode = FALSE
38 + EndGlobalSection
39 + GlobalSection(NestedProjects) = preSolution
40 + {0210C4AF-85AE-3908-99A8-88A7B4D41FC8} = {36257327-00FE-FF6D-A8D9-AFEE3537DAF0}
41 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485} = {0210C4AF-85AE-3908-99A8-88A7B4D41FC8}
42 + EndGlobalSection
43 +EndGlobal
1 +# Do not edit. File was generated by node-gyp's "configure" step
2 +{
3 + "target_defaults": {
4 + "cflags": [],
5 + "default_configuration": "Release",
6 + "defines": [],
7 + "include_dirs": [],
8 + "libraries": [],
9 + "msbuild_toolset": "v142",
10 + "msvs_windows_target_platform_version": "10.0.18362.0"
11 + },
12 + "variables": {
13 + "asan": 0,
14 + "build_v8_with_gn": "false",
15 + "coverage": "false",
16 + "dcheck_always_on": 0,
17 + "debug_nghttp2": "false",
18 + "debug_node": "false",
19 + "enable_lto": "false",
20 + "enable_pgo_generate": "false",
21 + "enable_pgo_use": "false",
22 + "force_dynamic_crt": 0,
23 + "host_arch": "x64",
24 + "icu_data_in": "..\\..\\deps/icu-small\\source/data/in\\icudt67l.dat",
25 + "icu_default_data": "",
26 + "icu_endianness": "l",
27 + "icu_gyp_path": "tools/icu/icu-generic.gyp",
28 + "icu_locales": "en,root",
29 + "icu_path": "deps/icu-small",
30 + "icu_small": "true",
31 + "icu_ver_major": "67",
32 + "is_debug": 0,
33 + "napi_build_version": "6",
34 + "nasm_version": "2.14",
35 + "node_byteorder": "little",
36 + "node_debug_lib": "false",
37 + "node_enable_d8": "false",
38 + "node_install_npm": "true",
39 + "node_module_version": 72,
40 + "node_no_browser_globals": "false",
41 + "node_prefix": "/usr/local",
42 + "node_release_urlbase": "https://nodejs.org/download/release/",
43 + "node_shared": "false",
44 + "node_shared_brotli": "false",
45 + "node_shared_cares": "false",
46 + "node_shared_http_parser": "false",
47 + "node_shared_libuv": "false",
48 + "node_shared_nghttp2": "false",
49 + "node_shared_openssl": "false",
50 + "node_shared_zlib": "false",
51 + "node_tag": "",
52 + "node_target_type": "executable",
53 + "node_use_bundled_v8": "true",
54 + "node_use_dtrace": "false",
55 + "node_use_etw": "true",
56 + "node_use_node_code_cache": "true",
57 + "node_use_node_snapshot": "true",
58 + "node_use_openssl": "true",
59 + "node_use_v8_platform": "true",
60 + "node_with_ltcg": "true",
61 + "node_without_node_options": "false",
62 + "openssl_fips": "",
63 + "openssl_is_fips": "false",
64 + "shlib_suffix": "so.72",
65 + "target_arch": "x64",
66 + "v8_enable_gdbjit": 0,
67 + "v8_enable_i18n_support": 1,
68 + "v8_enable_inspector": 1,
69 + "v8_enable_lite_mode": 0,
70 + "v8_no_strict_aliasing": 1,
71 + "v8_optimized_debug": 1,
72 + "v8_promise_internal_field_count": 1,
73 + "v8_random_seed": 0,
74 + "v8_trace_maps": 0,
75 + "v8_use_siphash": 1,
76 + "v8_use_snapshot": 1,
77 + "want_separate_host_toolset": 0,
78 + "nodedir": "C:\\Users\\KoMoGoon\\AppData\\Local\\node-gyp\\Cache\\12.18.3",
79 + "standalone_static_library": 1,
80 + "msbuild_path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\Current\\Bin\\MSBuild.exe",
81 + "access": "",
82 + "allow_same_version": "",
83 + "also": "",
84 + "always_auth": "",
85 + "audit": "true",
86 + "audit_level": "low",
87 + "auth_type": "legacy",
88 + "before": "",
89 + "bin_links": "true",
90 + "browser": "",
91 + "ca": "",
92 + "cache": "C:\\Users\\KoMoGoon\\AppData\\Roaming\\npm-cache",
93 + "cache_lock_retries": "10",
94 + "cache_lock_stale": "60000",
95 + "cache_lock_wait": "10000",
96 + "cache_max": "Infinity",
97 + "cache_min": "10",
98 + "cert": "",
99 + "cidr": "",
100 + "color": "true",
101 + "commit_hooks": "true",
102 + "depth": "Infinity",
103 + "description": "true",
104 + "dev": "",
105 + "dry_run": "",
106 + "editor": "notepad.exe",
107 + "engine_strict": "",
108 + "fetch_retries": "2",
109 + "fetch_retry_factor": "10",
110 + "fetch_retry_maxtimeout": "60000",
111 + "fetch_retry_mintimeout": "10000",
112 + "force": "",
113 + "format_package_lock": "true",
114 + "fund": "true",
115 + "git": "git",
116 + "git_tag_version": "true",
117 + "global": "",
118 + "globalconfig": "C:\\Users\\KoMoGoon\\AppData\\Roaming\\npm\\etc\\npmrc",
119 + "globalignorefile": "C:\\Users\\KoMoGoon\\AppData\\Roaming\\npm\\etc\\npmignore",
120 + "global_style": "",
121 + "group": "",
122 + "ham_it_up": "",
123 + "heading": "npm",
124 + "https_proxy": "",
125 + "if_present": "",
126 + "ignore_prepublish": "",
127 + "ignore_scripts": "",
128 + "init_author_email": "",
129 + "init_author_name": "",
130 + "init_author_url": "",
131 + "init_license": "ISC",
132 + "init_module": "C:\\Users\\KoMoGoon\\.npm-init.js",
133 + "init_version": "1.0.0",
134 + "json": "",
135 + "key": "",
136 + "legacy_bundling": "",
137 + "link": "",
138 + "local_address": "",
139 + "logs_max": "10",
140 + "long": "",
141 + "maxsockets": "50",
142 + "message": "%s",
143 + "metrics_registry": "https://registry.npmjs.org/",
144 + "node_gyp": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js",
145 + "node_options": "",
146 + "node_version": "12.18.3",
147 + "offline": "",
148 + "onload_script": "",
149 + "only": "",
150 + "optional": "true",
151 + "otp": "",
152 + "package_lock": "true",
153 + "package_lock_only": "",
154 + "parseable": "",
155 + "prefer_offline": "",
156 + "prefer_online": "",
157 + "prefix": "C:\\Users\\KoMoGoon\\AppData\\Roaming\\npm",
158 + "preid": "",
159 + "production": "",
160 + "progress": "true",
161 + "read_only": "",
162 + "rebuild_bundle": "true",
163 + "registry": "https://registry.npmjs.org/",
164 + "rollback": "true",
165 + "save": "true",
166 + "save_bundle": "",
167 + "save_dev": "",
168 + "save_exact": "",
169 + "save_optional": "",
170 + "save_prefix": "^",
171 + "save_prod": "",
172 + "scope": "",
173 + "scripts_prepend_node_path": "warn-only",
174 + "script_shell": "",
175 + "searchexclude": "",
176 + "searchlimit": "20",
177 + "searchopts": "",
178 + "searchstaleness": "900",
179 + "send_metrics": "",
180 + "shell": "C:\\Windows\\system32\\cmd.exe",
181 + "shrinkwrap": "true",
182 + "sign_git_commit": "",
183 + "sign_git_tag": "",
184 + "sso_poll_frequency": "500",
185 + "sso_type": "oauth",
186 + "strict_ssl": "true",
187 + "tag": "latest",
188 + "tag_version_prefix": "v",
189 + "timing": "",
190 + "tmp": "C:\\Users\\KoMoGoon\\AppData\\Local\\Temp",
191 + "umask": "0000",
192 + "unicode": "",
193 + "unsafe_perm": "true",
194 + "update_notifier": "true",
195 + "usage": "",
196 + "user": "",
197 + "userconfig": "C:\\Users\\KoMoGoon\\.npmrc",
198 + "user_agent": "npm/6.14.6 node/v12.18.3 win32 x64",
199 + "version": "",
200 + "versions": "",
201 + "viewer": "browser"
202 + }
203 +}
This diff is collapsed. Click to expand it.
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 + <ItemGroup>
4 + <Filter Include="..">
5 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
6 + </Filter>
7 + <Filter Include="..\src">
8 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
9 + </Filter>
10 + <Filter Include="..\src\libvips">
11 + <UniqueIdentifier>{C5237A70-54DA-4CDE-D7DC-DCC954F392D0}</UniqueIdentifier>
12 + </Filter>
13 + <Filter Include="..\src\libvips\cplusplus">
14 + <UniqueIdentifier>{3BE1177D-EC6B-AAF6-3510-5AD5F13C24A6}</UniqueIdentifier>
15 + </Filter>
16 + <Filter Include="..">
17 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
18 + </Filter>
19 + <Filter Include="..\src">
20 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
21 + </Filter>
22 + <Filter Include="..\src\libvips">
23 + <UniqueIdentifier>{C5237A70-54DA-4CDE-D7DC-DCC954F392D0}</UniqueIdentifier>
24 + </Filter>
25 + <Filter Include="..\src\libvips\cplusplus">
26 + <UniqueIdentifier>{3BE1177D-EC6B-AAF6-3510-5AD5F13C24A6}</UniqueIdentifier>
27 + </Filter>
28 + <Filter Include="..">
29 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
30 + </Filter>
31 + <Filter Include="..\src">
32 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
33 + </Filter>
34 + <Filter Include="..\src\libvips">
35 + <UniqueIdentifier>{C5237A70-54DA-4CDE-D7DC-DCC954F392D0}</UniqueIdentifier>
36 + </Filter>
37 + <Filter Include="..\src\libvips\cplusplus">
38 + <UniqueIdentifier>{3BE1177D-EC6B-AAF6-3510-5AD5F13C24A6}</UniqueIdentifier>
39 + </Filter>
40 + <Filter Include="..">
41 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
42 + </Filter>
43 + <Filter Include="..\src">
44 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
45 + </Filter>
46 + <Filter Include="..\src\libvips">
47 + <UniqueIdentifier>{C5237A70-54DA-4CDE-D7DC-DCC954F392D0}</UniqueIdentifier>
48 + </Filter>
49 + <Filter Include="..\src\libvips\cplusplus">
50 + <UniqueIdentifier>{3BE1177D-EC6B-AAF6-3510-5AD5F13C24A6}</UniqueIdentifier>
51 + </Filter>
52 + <Filter Include="C:">
53 + <UniqueIdentifier>{7B735499-E5DD-1C2B-6C26-70023832A1CF}</UniqueIdentifier>
54 + </Filter>
55 + <Filter Include="C:\Program Files">
56 + <UniqueIdentifier>{92EF4BA8-6BC2-65D1-451F-28EBD4AE726A}</UniqueIdentifier>
57 + </Filter>
58 + <Filter Include="C:\Program Files\nodejs">
59 + <UniqueIdentifier>{A3C8E949-BCF6-0C67-6656-340A2A097708}</UniqueIdentifier>
60 + </Filter>
61 + <Filter Include="C:\Program Files\nodejs\node_modules">
62 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
63 + </Filter>
64 + <Filter Include="C:\Program Files\nodejs\node_modules\npm">
65 + <UniqueIdentifier>{741E0E76-39B2-B1AB-9FA1-F1A20B16F295}</UniqueIdentifier>
66 + </Filter>
67 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules">
68 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
69 + </Filter>
70 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp">
71 + <UniqueIdentifier>{77348C0E-2034-7791-74D5-63C077DF5A3B}</UniqueIdentifier>
72 + </Filter>
73 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src">
74 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
75 + </Filter>
76 + <Filter Include="..">
77 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
78 + </Filter>
79 + </ItemGroup>
80 + <ItemGroup>
81 + <ClCompile Include="..\src\libvips\cplusplus\VError.cpp">
82 + <Filter>..\src\libvips\cplusplus</Filter>
83 + </ClCompile>
84 + <ClCompile Include="..\src\libvips\cplusplus\VConnection.cpp">
85 + <Filter>..\src\libvips\cplusplus</Filter>
86 + </ClCompile>
87 + <ClCompile Include="..\src\libvips\cplusplus\VInterpolate.cpp">
88 + <Filter>..\src\libvips\cplusplus</Filter>
89 + </ClCompile>
90 + <ClCompile Include="..\src\libvips\cplusplus\VImage.cpp">
91 + <Filter>..\src\libvips\cplusplus</Filter>
92 + </ClCompile>
93 + <ClCompile Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.cc">
94 + <Filter>C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src</Filter>
95 + </ClCompile>
96 + <None Include="..\binding.gyp">
97 + <Filter>..</Filter>
98 + </None>
99 + </ItemGroup>
100 +</Project>
This diff is collapsed. Click to expand it.
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 + <ItemGroup>
4 + <Filter Include="..">
5 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
6 + </Filter>
7 + <Filter Include="..\src">
8 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
9 + </Filter>
10 + <Filter Include="..">
11 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
12 + </Filter>
13 + <Filter Include="..\src">
14 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
15 + </Filter>
16 + <Filter Include="..">
17 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
18 + </Filter>
19 + <Filter Include="..\src">
20 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
21 + </Filter>
22 + <Filter Include="..">
23 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
24 + </Filter>
25 + <Filter Include="..\src">
26 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
27 + </Filter>
28 + <Filter Include="..">
29 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
30 + </Filter>
31 + <Filter Include="..\src">
32 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
33 + </Filter>
34 + <Filter Include="..">
35 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
36 + </Filter>
37 + <Filter Include="..\src">
38 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
39 + </Filter>
40 + <Filter Include="..">
41 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
42 + </Filter>
43 + <Filter Include="..\src">
44 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
45 + </Filter>
46 + <Filter Include="C:">
47 + <UniqueIdentifier>{7B735499-E5DD-1C2B-6C26-70023832A1CF}</UniqueIdentifier>
48 + </Filter>
49 + <Filter Include="C:\Program Files">
50 + <UniqueIdentifier>{92EF4BA8-6BC2-65D1-451F-28EBD4AE726A}</UniqueIdentifier>
51 + </Filter>
52 + <Filter Include="C:\Program Files\nodejs">
53 + <UniqueIdentifier>{A3C8E949-BCF6-0C67-6656-340A2A097708}</UniqueIdentifier>
54 + </Filter>
55 + <Filter Include="C:\Program Files\nodejs\node_modules">
56 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
57 + </Filter>
58 + <Filter Include="C:\Program Files\nodejs\node_modules\npm">
59 + <UniqueIdentifier>{741E0E76-39B2-B1AB-9FA1-F1A20B16F295}</UniqueIdentifier>
60 + </Filter>
61 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules">
62 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
63 + </Filter>
64 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp">
65 + <UniqueIdentifier>{77348C0E-2034-7791-74D5-63C077DF5A3B}</UniqueIdentifier>
66 + </Filter>
67 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src">
68 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
69 + </Filter>
70 + <Filter Include="..">
71 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
72 + </Filter>
73 + </ItemGroup>
74 + <ItemGroup>
75 + <ClCompile Include="..\src\common.cc">
76 + <Filter>..\src</Filter>
77 + </ClCompile>
78 + <ClCompile Include="..\src\metadata.cc">
79 + <Filter>..\src</Filter>
80 + </ClCompile>
81 + <ClCompile Include="..\src\stats.cc">
82 + <Filter>..\src</Filter>
83 + </ClCompile>
84 + <ClCompile Include="..\src\operations.cc">
85 + <Filter>..\src</Filter>
86 + </ClCompile>
87 + <ClCompile Include="..\src\pipeline.cc">
88 + <Filter>..\src</Filter>
89 + </ClCompile>
90 + <ClCompile Include="..\src\utilities.cc">
91 + <Filter>..\src</Filter>
92 + </ClCompile>
93 + <ClCompile Include="..\src\sharp.cc">
94 + <Filter>..\src</Filter>
95 + </ClCompile>
96 + <ClCompile Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.cc">
97 + <Filter>C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src</Filter>
98 + </ClCompile>
99 + <None Include="..\binding.gyp">
100 + <Filter>..</Filter>
101 + </None>
102 + </ItemGroup>
103 +</Project>
1 +PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.26.28801:TargetPlatformVersion=10.0.18362.0:
2 +Release|x64|C:\Users\KoMoGoon\Desktop\oss_project\Singer-Composer\node_modules\sharp\build\|
1 +Microsoft Visual Studio Solution File, Format Version 12.00
2 +# Visual Studio 2015
3 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nothing", "nothing.vcxproj", "{DA2C50ED-71BF-66D1-D1F1-F6299F965485}"
4 +EndProject
5 +Global
6 + GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 + Debug|x64 = Debug|x64
8 + Release|x64 = Release|x64
9 + EndGlobalSection
10 + GlobalSection(ProjectConfigurationPlatforms) = postSolution
11 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Debug|x64.ActiveCfg = Debug|x64
12 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Debug|x64.Build.0 = Debug|x64
13 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Release|x64.ActiveCfg = Release|x64
14 + {DA2C50ED-71BF-66D1-D1F1-F6299F965485}.Release|x64.Build.0 = Release|x64
15 + EndGlobalSection
16 + GlobalSection(SolutionProperties) = preSolution
17 + HideSolutionNode = FALSE
18 + EndGlobalSection
19 +EndGlobal
This diff is collapsed. Click to expand it.
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 + <ItemGroup>
4 + <Filter Include="..">
5 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
6 + </Filter>
7 + <Filter Include="..\..">
8 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
9 + </Filter>
10 + <Filter Include="..\..\node-addon-api">
11 + <UniqueIdentifier>{A353D9AF-FDFE-F893-56AE-2F252738A960}</UniqueIdentifier>
12 + </Filter>
13 + <Filter Include="C:">
14 + <UniqueIdentifier>{7B735499-E5DD-1C2B-6C26-70023832A1CF}</UniqueIdentifier>
15 + </Filter>
16 + <Filter Include="C:\Program Files">
17 + <UniqueIdentifier>{92EF4BA8-6BC2-65D1-451F-28EBD4AE726A}</UniqueIdentifier>
18 + </Filter>
19 + <Filter Include="C:\Program Files\nodejs">
20 + <UniqueIdentifier>{A3C8E949-BCF6-0C67-6656-340A2A097708}</UniqueIdentifier>
21 + </Filter>
22 + <Filter Include="C:\Program Files\nodejs\node_modules">
23 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
24 + </Filter>
25 + <Filter Include="C:\Program Files\nodejs\node_modules\npm">
26 + <UniqueIdentifier>{741E0E76-39B2-B1AB-9FA1-F1A20B16F295}</UniqueIdentifier>
27 + </Filter>
28 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules">
29 + <UniqueIdentifier>{56DF7A98-063D-FB9D-485C-089023B4C16A}</UniqueIdentifier>
30 + </Filter>
31 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp">
32 + <UniqueIdentifier>{77348C0E-2034-7791-74D5-63C077DF5A3B}</UniqueIdentifier>
33 + </Filter>
34 + <Filter Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src">
35 + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier>
36 + </Filter>
37 + <Filter Include="..">
38 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
39 + </Filter>
40 + <Filter Include="..\..">
41 + <UniqueIdentifier>{739DB09A-CC57-A953-A6CF-F64FA08E4FA7}</UniqueIdentifier>
42 + </Filter>
43 + <Filter Include="..\..\node-addon-api">
44 + <UniqueIdentifier>{A353D9AF-FDFE-F893-56AE-2F252738A960}</UniqueIdentifier>
45 + </Filter>
46 + </ItemGroup>
47 + <ItemGroup>
48 + <ClCompile Include="..\..\node-addon-api\nothing.c">
49 + <Filter>..\..\node-addon-api</Filter>
50 + </ClCompile>
51 + <ClCompile Include="C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.cc">
52 + <Filter>C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src</Filter>
53 + </ClCompile>
54 + <None Include="..\..\node-addon-api\node_api.gyp">
55 + <Filter>..\..\node-addon-api</Filter>
56 + </None>
57 + </ItemGroup>
58 +</Project>
1 +# Third-party notices
2 +
3 +This software contains third-party libraries
4 +used under the terms of the following licences:
5 +
6 +| Library | Used under the terms of |
7 +|---------------|-----------------------------------------------------------------------------------------------------------|
8 +| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |
9 +| cairo | Mozilla Public License 2.0 |
10 +| expat | MIT Licence |
11 +| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |
12 +| freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |
13 +| fribidi | LGPLv3 |
14 +| gdk-pixbuf | LGPLv3 |
15 +| glib | LGPLv3 |
16 +| harfbuzz | MIT Licence |
17 +| lcms | MIT Licence |
18 +| libexif | LGPLv3 |
19 +| libffi | MIT Licence |
20 +| libgsf | LGPLv3 |
21 +| libheif | LGPLv3 |
22 +| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |
23 +| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |
24 +| libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) |
25 +| librsvg | LGPLv3 |
26 +| libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) |
27 +| libtiff | [libtiff License](https://libtiff.gitlab.io/libtiff/misc.html) (BSD-like) |
28 +| libvips | LGPLv3 |
29 +| libwebp | New BSD License |
30 +| libxml2 | MIT Licence |
31 +| orc | [orc License](https://gitlab.freedesktop.org/gstreamer/orc/blob/master/COPYING) (BSD-like) |
32 +| pango | LGPLv3 |
33 +| pixman | MIT Licence |
34 +| proxy-libintl | LGPLv3 |
35 +| zlib-ng | [zlib Licence](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |
36 +
37 +Use of libraries under the terms of the LGPLv3 is via the
38 +"any later version" clause of the LGPLv2 or LGPLv2.1.
39 +
40 +Please report any errors or omissions via
41 +https://github.com/lovell/sharp-libvips/issues/new
1 +/*
2 + * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 + *
4 + * This source code is subject to the terms of the BSD 2 Clause License and
5 + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 + * was not distributed with this source code in the LICENSE file, you can
7 + * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 + * Media Patent License 1.0 was not distributed with this source code in the
9 + * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 + */
11 +
12 +/*!\defgroup aom AOM
13 + * \ingroup codecs
14 + * AOM is aom's newest video compression algorithm that uses motion
15 + * compensated prediction, Discrete Cosine Transform (DCT) coding of the
16 + * prediction error signal and context dependent entropy coding techniques
17 + * based on arithmetic principles. It features:
18 + * - YUV 4:2:0 image format
19 + * - Macro-block based coding (16x16 luma plus two 8x8 chroma)
20 + * - 1/4 (1/8) pixel accuracy motion compensated prediction
21 + * - 4x4 DCT transform
22 + * - 128 level linear quantizer
23 + * - In loop deblocking filter
24 + * - Context-based entropy coding
25 + *
26 + * @{
27 + */
28 +/*!\file
29 + * \brief Provides controls common to both the AOM encoder and decoder.
30 + */
31 +#ifndef AOM_AOM_AOM_H_
32 +#define AOM_AOM_AOM_H_
33 +
34 +#include "aom/aom_codec.h"
35 +#include "aom/aom_image.h"
36 +
37 +#ifdef __cplusplus
38 +extern "C" {
39 +#endif
40 +
41 +/*!\brief Control functions
42 + *
43 + * The set of macros define the control functions of AOM interface
44 + * The range for common control IDs is 230-255(max).
45 + */
46 +enum aom_com_control_id {
47 + /*!\brief Codec control function to get a pointer to a reference frame
48 + *
49 + * av1_ref_frame_t* parameter
50 + */
51 + AV1_GET_REFERENCE = 230,
52 +
53 + /*!\brief Codec control function to write a frame into a reference buffer
54 + *
55 + * av1_ref_frame_t* parameter
56 + */
57 + AV1_SET_REFERENCE = 231,
58 +
59 + /*!\brief Codec control function to get a copy of reference frame from the
60 + * decoder
61 + *
62 + * av1_ref_frame_t* parameter
63 + */
64 + AV1_COPY_REFERENCE = 232,
65 +
66 + /*!\brief Codec control function to get a pointer to the new frame
67 + *
68 + * aom_image_t* parameter
69 + */
70 + AV1_GET_NEW_FRAME_IMAGE = 233,
71 +
72 + /*!\brief Codec control function to copy the new frame to an external buffer
73 + *
74 + * aom_image_t* parameter
75 + */
76 + AV1_COPY_NEW_FRAME_IMAGE = 234,
77 +
78 + /*!\brief Start point of control IDs for aom_dec_control_id.
79 + * Any new common control IDs should be added above.
80 + */
81 + AOM_DECODER_CTRL_ID_START = 256
82 + // No common control IDs should be added after AOM_DECODER_CTRL_ID_START.
83 +};
84 +
85 +/*!\brief AV1 specific reference frame data struct
86 + *
87 + * Define the data struct to access av1 reference frames.
88 + */
89 +typedef struct av1_ref_frame {
90 + int idx; /**< frame index to get (input) */
91 + int use_external_ref; /**< Directly use external ref buffer(decoder only) */
92 + aom_image_t img; /**< img structure to populate (output) */
93 +} av1_ref_frame_t;
94 +
95 +/*!\cond */
96 +/*!\brief aom decoder control function parameter type
97 + *
98 + * Defines the data type for each of AOM decoder control function requires.
99 + *
100 + * \note For each control ID "X", a macro-define of
101 + * AOM_CTRL_X is provided. It is used at compile time to determine
102 + * if the control ID is supported by the libaom library available,
103 + * when the libaom version cannot be controlled.
104 + */
105 +AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, av1_ref_frame_t *)
106 +#define AOM_CTRL_AV1_GET_REFERENCE
107 +
108 +AOM_CTRL_USE_TYPE(AV1_SET_REFERENCE, av1_ref_frame_t *)
109 +#define AOM_CTRL_AV1_SET_REFERENCE
110 +
111 +AOM_CTRL_USE_TYPE(AV1_COPY_REFERENCE, av1_ref_frame_t *)
112 +#define AOM_CTRL_AV1_COPY_REFERENCE
113 +
114 +AOM_CTRL_USE_TYPE(AV1_GET_NEW_FRAME_IMAGE, aom_image_t *)
115 +#define AOM_CTRL_AV1_GET_NEW_FRAME_IMAGE
116 +
117 +AOM_CTRL_USE_TYPE(AV1_COPY_NEW_FRAME_IMAGE, aom_image_t *)
118 +#define AOM_CTRL_AV1_COPY_NEW_FRAME_IMAGE
119 +
120 +/*!\endcond */
121 +/*! @} - end defgroup aom */
122 +
123 +#ifdef __cplusplus
124 +} // extern "C"
125 +#endif
126 +
127 +#endif // AOM_AOM_AOM_H_
1 +/*
2 + * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 + *
4 + * This source code is subject to the terms of the BSD 2 Clause License and
5 + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 + * was not distributed with this source code in the LICENSE file, you can
7 + * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 + * Media Patent License 1.0 was not distributed with this source code in the
9 + * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 + */
11 +
12 +#ifndef AOM_AOM_AOM_FRAME_BUFFER_H_
13 +#define AOM_AOM_AOM_FRAME_BUFFER_H_
14 +
15 +/*!\file
16 + * \brief Describes the decoder external frame buffer interface.
17 + */
18 +
19 +#ifdef __cplusplus
20 +extern "C" {
21 +#endif
22 +
23 +#include "aom/aom_integer.h"
24 +
25 +/*!\brief The maximum number of work buffers used by libaom.
26 + * Support maximum 4 threads to decode video in parallel.
27 + * Each thread will use one work buffer.
28 + * TODO(hkuang): Add support to set number of worker threads dynamically.
29 + */
30 +#define AOM_MAXIMUM_WORK_BUFFERS 8
31 +
32 +/*!\brief The maximum number of reference buffers that a AV1 encoder may use.
33 + */
34 +#define AOM_MAXIMUM_REF_BUFFERS 8
35 +
36 +/*!\brief External frame buffer
37 + *
38 + * This structure holds allocated frame buffers used by the decoder.
39 + */
40 +typedef struct aom_codec_frame_buffer {
41 + uint8_t *data; /**< Pointer to the data buffer */
42 + size_t size; /**< Size of data in bytes */
43 + void *priv; /**< Frame's private data */
44 +} aom_codec_frame_buffer_t;
45 +
46 +/*!\brief get frame buffer callback prototype
47 + *
48 + * This callback is invoked by the decoder to retrieve data for the frame
49 + * buffer in order for the decode call to complete. The callback must
50 + * allocate at least min_size in bytes and assign it to fb->data. The callback
51 + * must zero out all the data allocated. Then the callback must set fb->size
52 + * to the allocated size. The application does not need to align the allocated
53 + * data. The callback is triggered when the decoder needs a frame buffer to
54 + * decode a compressed image into. This function may be called more than once
55 + * for every call to aom_codec_decode. The application may set fb->priv to
56 + * some data which will be passed back in the aom_image_t and the release
57 + * function call. |fb| is guaranteed to not be NULL. On success the callback
58 + * must return 0. Any failure the callback must return a value less than 0.
59 + *
60 + * \param[in] priv Callback's private data
61 + * \param[in] min_size Size in bytes needed by the buffer
62 + * \param[in,out] fb Pointer to aom_codec_frame_buffer_t
63 + */
64 +typedef int (*aom_get_frame_buffer_cb_fn_t)(void *priv, size_t min_size,
65 + aom_codec_frame_buffer_t *fb);
66 +
67 +/*!\brief release frame buffer callback prototype
68 + *
69 + * This callback is invoked by the decoder when the frame buffer is not
70 + * referenced by any other buffers. |fb| is guaranteed to not be NULL. On
71 + * success the callback must return 0. Any failure the callback must return
72 + * a value less than 0.
73 + *
74 + * \param[in] priv Callback's private data
75 + * \param[in] fb Pointer to aom_codec_frame_buffer_t
76 + */
77 +typedef int (*aom_release_frame_buffer_cb_fn_t)(void *priv,
78 + aom_codec_frame_buffer_t *fb);
79 +
80 +#ifdef __cplusplus
81 +} // extern "C"
82 +#endif
83 +
84 +#endif // AOM_AOM_AOM_FRAME_BUFFER_H_
1 +/*
2 + * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3 + *
4 + * This source code is subject to the terms of the BSD 2 Clause License and
5 + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 + * was not distributed with this source code in the LICENSE file, you can
7 + * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 + * Media Patent License 1.0 was not distributed with this source code in the
9 + * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 + */
11 +#ifndef AOM_AOM_AOM_INTEGER_H_
12 +#define AOM_AOM_AOM_INTEGER_H_
13 +
14 +/* get ptrdiff_t, size_t, wchar_t, NULL */
15 +#include <stddef.h>
16 +
17 +#if defined(_MSC_VER)
18 +#define AOM_FORCE_INLINE __forceinline
19 +#define AOM_INLINE __inline
20 +#else
21 +#define AOM_FORCE_INLINE __inline__ __attribute__((always_inline))
22 +#define AOM_INLINE inline
23 +#endif
24 +
25 +/* Assume platforms have the C99 standard integer types. */
26 +
27 +#if defined(__cplusplus)
28 +#if !defined(__STDC_FORMAT_MACROS)
29 +#define __STDC_FORMAT_MACROS
30 +#endif
31 +#if !defined(__STDC_LIMIT_MACROS)
32 +#define __STDC_LIMIT_MACROS
33 +#endif
34 +#endif // __cplusplus
35 +
36 +#include <stdint.h>
37 +#include <inttypes.h>
38 +
39 +#if defined(__cplusplus)
40 +extern "C" {
41 +#endif // __cplusplus
42 +
43 +// Returns size of uint64_t when encoded using LEB128.
44 +size_t aom_uleb_size_in_bytes(uint64_t value);
45 +
46 +// Returns 0 on success, -1 on decode failure.
47 +// On success, 'value' stores the decoded LEB128 value and 'length' stores
48 +// the number of bytes decoded.
49 +int aom_uleb_decode(const uint8_t *buffer, size_t available, uint64_t *value,
50 + size_t *length);
51 +
52 +// Encodes LEB128 integer. Returns 0 when successful, and -1 upon failure.
53 +int aom_uleb_encode(uint64_t value, size_t available, uint8_t *coded_value,
54 + size_t *coded_size);
55 +
56 +// Encodes LEB128 integer to size specified. Returns 0 when successful, and -1
57 +// upon failure.
58 +// Note: This will write exactly pad_to_size bytes; if the value cannot be
59 +// encoded in this many bytes, then this will fail.
60 +int aom_uleb_encode_fixed_size(uint64_t value, size_t available,
61 + size_t pad_to_size, uint8_t *coded_value,
62 + size_t *coded_size);
63 +
64 +#if defined(__cplusplus)
65 +} // extern "C"
66 +#endif // __cplusplus
67 +
68 +#endif // AOM_AOM_AOM_INTEGER_H_
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +/* expat_config.h. Generated from expat_config.h.in by configure. */
2 +/* expat_config.h.in. Generated from configure.ac by autoheader. */
3 +
4 +/* Define if building universal (internal helper macro) */
5 +/* #undef AC_APPLE_UNIVERSAL_BUILD */
6 +
7 +/* 1234 = LILENDIAN, 4321 = BIGENDIAN */
8 +#define BYTEORDER 1234
9 +
10 +/* Define to 1 if you have the `arc4random' function. */
11 +/* #undef HAVE_ARC4RANDOM */
12 +
13 +/* Define to 1 if you have the `arc4random_buf' function. */
14 +/* #undef HAVE_ARC4RANDOM_BUF */
15 +
16 +/* Define to 1 if you have the <dlfcn.h> header file. */
17 +/* #undef HAVE_DLFCN_H */
18 +
19 +/* Define to 1 if you have the <fcntl.h> header file. */
20 +#define HAVE_FCNTL_H 1
21 +
22 +/* Define to 1 if you have the `getpagesize' function. */
23 +/* #undef HAVE_GETPAGESIZE */
24 +
25 +/* Define to 1 if you have the `getrandom' function. */
26 +/* #undef HAVE_GETRANDOM */
27 +
28 +/* Define to 1 if you have the <inttypes.h> header file. */
29 +#define HAVE_INTTYPES_H 1
30 +
31 +/* Define to 1 if you have the `bsd' library (-lbsd). */
32 +/* #undef HAVE_LIBBSD */
33 +
34 +/* Define to 1 if you have the <memory.h> header file. */
35 +#define HAVE_MEMORY_H 1
36 +
37 +/* Define to 1 if you have a working `mmap' system call. */
38 +/* #undef HAVE_MMAP */
39 +
40 +/* Define to 1 if you have the <stdint.h> header file. */
41 +#define HAVE_STDINT_H 1
42 +
43 +/* Define to 1 if you have the <stdlib.h> header file. */
44 +#define HAVE_STDLIB_H 1
45 +
46 +/* Define to 1 if you have the <strings.h> header file. */
47 +#define HAVE_STRINGS_H 1
48 +
49 +/* Define to 1 if you have the <string.h> header file. */
50 +#define HAVE_STRING_H 1
51 +
52 +/* Define to 1 if you have `syscall' and `SYS_getrandom'. */
53 +/* #undef HAVE_SYSCALL_GETRANDOM */
54 +
55 +/* Define to 1 if you have the <sys/param.h> header file. */
56 +#define HAVE_SYS_PARAM_H 1
57 +
58 +/* Define to 1 if you have the <sys/stat.h> header file. */
59 +#define HAVE_SYS_STAT_H 1
60 +
61 +/* Define to 1 if you have the <sys/types.h> header file. */
62 +#define HAVE_SYS_TYPES_H 1
63 +
64 +/* Define to 1 if you have the <unistd.h> header file. */
65 +#define HAVE_UNISTD_H 1
66 +
67 +/* Define to the sub-directory where libtool stores uninstalled libraries. */
68 +#define LT_OBJDIR ".libs/"
69 +
70 +/* Name of package */
71 +#define PACKAGE "expat"
72 +
73 +/* Define to the address where bug reports for this package should be sent. */
74 +#define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
75 +
76 +/* Define to the full name of this package. */
77 +#define PACKAGE_NAME "expat"
78 +
79 +/* Define to the full name and version of this package. */
80 +#define PACKAGE_STRING "expat 2.4.1"
81 +
82 +/* Define to the one symbol short name of this package. */
83 +#define PACKAGE_TARNAME "expat"
84 +
85 +/* Define to the home page for this package. */
86 +#define PACKAGE_URL ""
87 +
88 +/* Define to the version of this package. */
89 +#define PACKAGE_VERSION "2.4.1"
90 +
91 +/* Define to 1 if you have the ANSI C header files. */
92 +#define STDC_HEADERS 1
93 +
94 +/* Version number of package */
95 +#define VERSION "2.4.1"
96 +
97 +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
98 + significant byte first (like Motorola and SPARC, unlike Intel). */
99 +#if defined AC_APPLE_UNIVERSAL_BUILD
100 +# if defined __BIG_ENDIAN__
101 +# define WORDS_BIGENDIAN 1
102 +# endif
103 +#else
104 +# ifndef WORDS_BIGENDIAN
105 +/* # undef WORDS_BIGENDIAN */
106 +# endif
107 +#endif
108 +
109 +/* Define to allow retrieving the byte offsets for attribute names and values.
110 + */
111 +/* #undef XML_ATTR_INFO */
112 +
113 +/* Define to specify how much context to retain around the current parse
114 + point. */
115 +#define XML_CONTEXT_BYTES 1024
116 +
117 +/* Define to include code reading entropy from `/dev/urandom'. */
118 +#define XML_DEV_URANDOM 1
119 +
120 +/* Define to make parameter entity parsing functionality available. */
121 +#define XML_DTD 1
122 +
123 +/* Define to make XML Namespaces functionality available. */
124 +#define XML_NS 1
125 +
126 +/* Define to empty if `const' does not conform to ANSI C. */
127 +/* #undef const */
128 +
129 +/* Define to `long int' if <sys/types.h> does not define. */
130 +/* #undef off_t */
131 +
132 +/* Define to `unsigned int' if <sys/types.h> does not define. */
133 +/* #undef size_t */
1 +/*
2 + __ __ _
3 + ___\ \/ /_ __ __ _| |_
4 + / _ \\ /| '_ \ / _` | __|
5 + | __// \| |_) | (_| | |_
6 + \___/_/\_\ .__/ \__,_|\__|
7 + |_| XML parser
8 +
9 + Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
10 + Copyright (c) 2000 Clark Cooper <coopercc@users.sourceforge.net>
11 + Copyright (c) 2000-2004 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
12 + Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
13 + Copyright (c) 2002-2006 Karl Waclawek <karl@waclawek.net>
14 + Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
15 + Copyright (c) 2016-2019 Sebastian Pipping <sebastian@pipping.org>
16 + Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
17 + Copyright (c) 2018 Yury Gribov <tetra2005@gmail.com>
18 + Licensed under the MIT license:
19 +
20 + Permission is hereby granted, free of charge, to any person obtaining
21 + a copy of this software and associated documentation files (the
22 + "Software"), to deal in the Software without restriction, including
23 + without limitation the rights to use, copy, modify, merge, publish,
24 + distribute, sublicense, and/or sell copies of the Software, and to permit
25 + persons to whom the Software is furnished to do so, subject to the
26 + following conditions:
27 +
28 + The above copyright notice and this permission notice shall be included
29 + in all copies or substantial portions of the Software.
30 +
31 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
34 + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
35 + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
36 + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
37 + USE OR OTHER DEALINGS IN THE SOFTWARE.
38 +*/
39 +
40 +#ifndef Expat_External_INCLUDED
41 +#define Expat_External_INCLUDED 1
42 +
43 +/* External API definitions */
44 +
45 +/* Expat tries very hard to make the API boundary very specifically
46 + defined. There are two macros defined to control this boundary;
47 + each of these can be defined before including this header to
48 + achieve some different behavior, but doing so it not recommended or
49 + tested frequently.
50 +
51 + XMLCALL - The calling convention to use for all calls across the
52 + "library boundary." This will default to cdecl, and
53 + try really hard to tell the compiler that's what we
54 + want.
55 +
56 + XMLIMPORT - Whatever magic is needed to note that a function is
57 + to be imported from a dynamically loaded library
58 + (.dll, .so, or .sl, depending on your platform).
59 +
60 + The XMLCALL macro was added in Expat 1.95.7. The only one which is
61 + expected to be directly useful in client code is XMLCALL.
62 +
63 + Note that on at least some Unix versions, the Expat library must be
64 + compiled with the cdecl calling convention as the default since
65 + system headers may assume the cdecl convention.
66 +*/
67 +#ifndef XMLCALL
68 +# if defined(_MSC_VER)
69 +# define XMLCALL __cdecl
70 +# elif defined(__GNUC__) && defined(__i386) && ! defined(__INTEL_COMPILER)
71 +# define XMLCALL __attribute__((cdecl))
72 +# else
73 +/* For any platform which uses this definition and supports more than
74 + one calling convention, we need to extend this definition to
75 + declare the convention used on that platform, if it's possible to
76 + do so.
77 +
78 + If this is the case for your platform, please file a bug report
79 + with information on how to identify your platform via the C
80 + pre-processor and how to specify the same calling convention as the
81 + platform's malloc() implementation.
82 +*/
83 +# define XMLCALL
84 +# endif
85 +#endif /* not defined XMLCALL */
86 +
87 +#if ! defined(XML_STATIC) && ! defined(XMLIMPORT)
88 +# ifndef XML_BUILDING_EXPAT
89 +/* using Expat from an application */
90 +
91 +# if defined(_MSC_EXTENSIONS) && ! defined(__BEOS__) && ! defined(__CYGWIN__)
92 +# define XMLIMPORT __declspec(dllimport)
93 +# endif
94 +
95 +# endif
96 +#endif /* not defined XML_STATIC */
97 +
98 +#ifndef XML_ENABLE_VISIBILITY
99 +# define XML_ENABLE_VISIBILITY 0
100 +#endif
101 +
102 +#if ! defined(XMLIMPORT) && XML_ENABLE_VISIBILITY
103 +# define XMLIMPORT __attribute__((visibility("default")))
104 +#endif
105 +
106 +/* If we didn't define it above, define it away: */
107 +#ifndef XMLIMPORT
108 +# define XMLIMPORT
109 +#endif
110 +
111 +#if defined(__GNUC__) \
112 + && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96))
113 +# define XML_ATTR_MALLOC __attribute__((__malloc__))
114 +#else
115 +# define XML_ATTR_MALLOC
116 +#endif
117 +
118 +#if defined(__GNUC__) \
119 + && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
120 +# define XML_ATTR_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
121 +#else
122 +# define XML_ATTR_ALLOC_SIZE(x)
123 +#endif
124 +
125 +#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
126 +
127 +#ifdef __cplusplus
128 +extern "C" {
129 +#endif
130 +
131 +#ifdef XML_UNICODE_WCHAR_T
132 +# ifndef XML_UNICODE
133 +# define XML_UNICODE
134 +# endif
135 +# if defined(__SIZEOF_WCHAR_T__) && (__SIZEOF_WCHAR_T__ != 2)
136 +# error "sizeof(wchar_t) != 2; Need -fshort-wchar for both Expat and libc"
137 +# endif
138 +#endif
139 +
140 +#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
141 +# ifdef XML_UNICODE_WCHAR_T
142 +typedef wchar_t XML_Char;
143 +typedef wchar_t XML_LChar;
144 +# else
145 +typedef unsigned short XML_Char;
146 +typedef char XML_LChar;
147 +# endif /* XML_UNICODE_WCHAR_T */
148 +#else /* Information is UTF-8 encoded. */
149 +typedef char XML_Char;
150 +typedef char XML_LChar;
151 +#endif /* XML_UNICODE */
152 +
153 +#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */
154 +typedef long long XML_Index;
155 +typedef unsigned long long XML_Size;
156 +#else
157 +typedef long XML_Index;
158 +typedef unsigned long XML_Size;
159 +#endif /* XML_LARGE_SIZE */
160 +
161 +#ifdef __cplusplus
162 +}
163 +#endif
164 +
165 +#endif /* not Expat_External_INCLUDED */
This diff is collapsed. Click to expand it.
1 +/* -----------------------------------------------------------------*-C-*-
2 + ffitarget.h - Copyright (c) 2012, 2014, 2018 Anthony Green
3 + Copyright (c) 1996-2003, 2010 Red Hat, Inc.
4 + Copyright (C) 2008 Free Software Foundation, Inc.
5 +
6 + Target configuration macros for x86 and x86-64.
7 +
8 + Permission is hereby granted, free of charge, to any person obtaining
9 + a copy of this software and associated documentation files (the
10 + ``Software''), to deal in the Software without restriction, including
11 + without limitation the rights to use, copy, modify, merge, publish,
12 + distribute, sublicense, and/or sell copies of the Software, and to
13 + permit persons to whom the Software is furnished to do so, subject to
14 + the following conditions:
15 +
16 + The above copyright notice and this permission notice shall be included
17 + in all copies or substantial portions of the Software.
18 +
19 + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
20 + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26 + DEALINGS IN THE SOFTWARE.
27 +
28 + ----------------------------------------------------------------------- */
29 +
30 +#ifndef LIBFFI_TARGET_H
31 +#define LIBFFI_TARGET_H
32 +
33 +#ifndef LIBFFI_H
34 +#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
35 +#endif
36 +
37 +/* ---- System specific configurations ----------------------------------- */
38 +
39 +/* For code common to all platforms on x86 and x86_64. */
40 +#define X86_ANY
41 +
42 +#if defined (X86_64) && defined (__i386__)
43 +#undef X86_64
44 +#define X86
45 +#endif
46 +
47 +#ifdef X86_WIN64
48 +#define FFI_SIZEOF_ARG 8
49 +#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
50 +#endif
51 +
52 +#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
53 +#ifndef _MSC_VER
54 +#define FFI_TARGET_HAS_COMPLEX_TYPE
55 +#endif
56 +
57 +/* ---- Generic type definitions ----------------------------------------- */
58 +
59 +#ifndef LIBFFI_ASM
60 +#ifdef X86_WIN64
61 +#ifdef _MSC_VER
62 +typedef unsigned __int64 ffi_arg;
63 +typedef __int64 ffi_sarg;
64 +#else
65 +typedef unsigned long long ffi_arg;
66 +typedef long long ffi_sarg;
67 +#endif
68 +#else
69 +#if defined __x86_64__ && defined __ILP32__
70 +#define FFI_SIZEOF_ARG 8
71 +#define FFI_SIZEOF_JAVA_RAW 4
72 +typedef unsigned long long ffi_arg;
73 +typedef long long ffi_sarg;
74 +#else
75 +typedef unsigned long ffi_arg;
76 +typedef signed long ffi_sarg;
77 +#endif
78 +#endif
79 +
80 +typedef enum ffi_abi {
81 +#if defined(X86_WIN64)
82 + FFI_FIRST_ABI = 0,
83 + FFI_WIN64, /* sizeof(long double) == 8 - microsoft compilers */
84 + FFI_GNUW64, /* sizeof(long double) == 16 - GNU compilers */
85 + FFI_LAST_ABI,
86 +#ifdef __GNUC__
87 + FFI_DEFAULT_ABI = FFI_GNUW64
88 +#else
89 + FFI_DEFAULT_ABI = FFI_WIN64
90 +#endif
91 +
92 +#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
93 + FFI_FIRST_ABI = 1,
94 + FFI_UNIX64,
95 + FFI_WIN64,
96 + FFI_EFI64 = FFI_WIN64,
97 + FFI_GNUW64,
98 + FFI_LAST_ABI,
99 + FFI_DEFAULT_ABI = FFI_UNIX64
100 +
101 +#elif defined(X86_WIN32)
102 + FFI_FIRST_ABI = 0,
103 + FFI_SYSV = 1,
104 + FFI_STDCALL = 2,
105 + FFI_THISCALL = 3,
106 + FFI_FASTCALL = 4,
107 + FFI_MS_CDECL = 5,
108 + FFI_PASCAL = 6,
109 + FFI_REGISTER = 7,
110 + FFI_LAST_ABI,
111 + FFI_DEFAULT_ABI = FFI_MS_CDECL
112 +#else
113 + FFI_FIRST_ABI = 0,
114 + FFI_SYSV = 1,
115 + FFI_THISCALL = 3,
116 + FFI_FASTCALL = 4,
117 + FFI_STDCALL = 5,
118 + FFI_PASCAL = 6,
119 + FFI_REGISTER = 7,
120 + FFI_MS_CDECL = 8,
121 + FFI_LAST_ABI,
122 + FFI_DEFAULT_ABI = FFI_SYSV
123 +#endif
124 +} ffi_abi;
125 +#endif
126 +
127 +/* ---- Definitions for closures ----------------------------------------- */
128 +
129 +#define FFI_CLOSURES 1
130 +#define FFI_GO_CLOSURES 1
131 +
132 +#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
133 +#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
134 +#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
135 +#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
136 +
137 +#if defined (X86_64) || defined(X86_WIN64) \
138 + || (defined (__x86_64__) && defined (X86_DARWIN))
139 +/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP
140 + + 8 bytes of pointer. */
141 +# define FFI_TRAMPOLINE_SIZE 32
142 +# define FFI_NATIVE_RAW_API 0
143 +#else
144 +/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused
145 + bytes. */
146 +# define FFI_TRAMPOLINE_SIZE 16
147 +# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
148 +#endif
149 +
150 +#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__)
151 +# include <cet.h>
152 +# if (__CET__ & 1) != 0
153 +# define ENDBR_PRESENT
154 +# endif
155 +# define _CET_NOTRACK notrack
156 +#else
157 +# define _CET_ENDBR
158 +# define _CET_NOTRACK
159 +#endif
160 +
161 +#endif
162 +
1 +/*
2 + * fontconfig/fontconfig/fcfreetype.h
3 + *
4 + * Copyright © 2001 Keith Packard
5 + *
6 + * Permission to use, copy, modify, distribute, and sell this software and its
7 + * documentation for any purpose is hereby granted without fee, provided that
8 + * the above copyright notice appear in all copies and that both that
9 + * copyright notice and this permission notice appear in supporting
10 + * documentation, and that the name of the author(s) not be used in
11 + * advertising or publicity pertaining to distribution of the software without
12 + * specific, written prior permission. The authors make no
13 + * representations about the suitability of this software for any purpose. It
14 + * is provided "as is" without express or implied warranty.
15 + *
16 + * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 + * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 + * PERFORMANCE OF THIS SOFTWARE.
23 + */
24 +
25 +#ifndef _FCFREETYPE_H_
26 +#define _FCFREETYPE_H_
27 +#include <ft2build.h>
28 +#include FT_FREETYPE_H
29 +
30 +#ifndef FcPublic
31 +#define FcPublic
32 +#endif
33 +
34 +_FCFUNCPROTOBEGIN
35 +
36 +FcPublic FT_UInt
37 +FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4);
38 +
39 +FcPublic FcCharSet *
40 +FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing);
41 +
42 +FcPublic FcCharSet *
43 +FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks);
44 +
45 +FcPublic FcResult
46 +FcPatternGetFTFace (const FcPattern *p, const char *object, int n, FT_Face *f);
47 +
48 +FcPublic FcBool
49 +FcPatternAddFTFace (FcPattern *p, const char *object, const FT_Face f);
50 +
51 +FcPublic FcPattern *
52 +FcFreeTypeQueryFace (const FT_Face face,
53 + const FcChar8 *file,
54 + unsigned int id,
55 + FcBlanks *blanks);
56 +
57 +_FCFUNCPROTOEND
58 +
59 +#endif
1 +/*
2 + * fontconfig/fontconfig/fcprivate.h
3 + *
4 + * Copyright © 2001 Keith Packard
5 + *
6 + * Permission to use, copy, modify, distribute, and sell this software and its
7 + * documentation for any purpose is hereby granted without fee, provided that
8 + * the above copyright notice appear in all copies and that both that
9 + * copyright notice and this permission notice appear in supporting
10 + * documentation, and that the name of the author(s) not be used in
11 + * advertising or publicity pertaining to distribution of the software without
12 + * specific, written prior permission. The authors make no
13 + * representations about the suitability of this software for any purpose. It
14 + * is provided "as is" without express or implied warranty.
15 + *
16 + * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 + * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 + * PERFORMANCE OF THIS SOFTWARE.
23 + */
24 +
25 +#ifndef _FCPRIVATE_H_
26 +#define _FCPRIVATE_H_
27 +
28 +/*
29 + * I tried this with functions that took va_list* arguments
30 + * but portability concerns made me change these functions
31 + * into macros (sigh).
32 + */
33 +
34 +#define FcPatternVapBuild(result, orig, va) \
35 +{ \
36 + FcPattern *__p__ = (orig); \
37 + const char *__o__; \
38 + FcValue __v__; \
39 + \
40 + if (!__p__) \
41 + { \
42 + __p__ = FcPatternCreate (); \
43 + if (!__p__) \
44 + goto _FcPatternVapBuild_bail0; \
45 + } \
46 + for (;;) \
47 + { \
48 + __o__ = va_arg (va, const char *); \
49 + if (!__o__) \
50 + break; \
51 + __v__.type = va_arg (va, int); \
52 + switch (__v__.type) { \
53 + case FcTypeUnknown: \
54 + case FcTypeVoid: \
55 + goto _FcPatternVapBuild_bail1; \
56 + case FcTypeInteger: \
57 + __v__.u.i = va_arg (va, int); \
58 + break; \
59 + case FcTypeDouble: \
60 + __v__.u.d = va_arg (va, double); \
61 + break; \
62 + case FcTypeString: \
63 + __v__.u.s = va_arg (va, const FcChar8 *); \
64 + break; \
65 + case FcTypeBool: \
66 + __v__.u.b = va_arg (va, FcBool); \
67 + break; \
68 + case FcTypeMatrix: \
69 + __v__.u.m = va_arg (va, const FcMatrix *); \
70 + break; \
71 + case FcTypeCharSet: \
72 + __v__.u.c = va_arg (va, const FcCharSet *); \
73 + break; \
74 + case FcTypeFTFace: \
75 + __v__.u.f = va_arg (va, FT_Face); \
76 + break; \
77 + case FcTypeLangSet: \
78 + __v__.u.l = va_arg (va, const FcLangSet *); \
79 + break; \
80 + case FcTypeRange: \
81 + __v__.u.r = va_arg (va, const FcRange *); \
82 + break; \
83 + } \
84 + if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) \
85 + goto _FcPatternVapBuild_bail1; \
86 + } \
87 + result = __p__; \
88 + goto _FcPatternVapBuild_return; \
89 + \
90 +_FcPatternVapBuild_bail1: \
91 + if (!orig) \
92 + FcPatternDestroy (__p__); \
93 +_FcPatternVapBuild_bail0: \
94 + result = (void*)0; \
95 + \
96 +_FcPatternVapBuild_return: \
97 + ; \
98 +}
99 +
100 +
101 +#define FcObjectSetVapBuild(__ret__, __first__, __va__) \
102 +{ \
103 + FcObjectSet *__os__; \
104 + const char *__ob__; \
105 + \
106 + __ret__ = 0; \
107 + __os__ = FcObjectSetCreate (); \
108 + if (!__os__) \
109 + goto _FcObjectSetVapBuild_bail0; \
110 + __ob__ = __first__; \
111 + while (__ob__) \
112 + { \
113 + if (!FcObjectSetAdd (__os__, __ob__)) \
114 + goto _FcObjectSetVapBuild_bail1; \
115 + __ob__ = va_arg (__va__, const char *); \
116 + } \
117 + __ret__ = __os__; \
118 + \
119 +_FcObjectSetVapBuild_bail1: \
120 + if (!__ret__ && __os__) \
121 + FcObjectSetDestroy (__os__); \
122 +_FcObjectSetVapBuild_bail0: \
123 + ; \
124 +}
125 +
126 +#ifndef FC_ATTRIBUTE_VISIBILITY_HIDDEN
127 +#define FC_ATTRIBUTE_VISIBILITY_HIDDEN __attribute((visibility("hidden")))
128 +#endif
129 +
130 +#ifndef FC_ATTRIBUTE_VISIBILITY_EXPORT
131 +#define FC_ATTRIBUTE_VISIBILITY_EXPORT __attribute((visibility("default")))
132 +#endif
133 +
134 +#endif /* _FCPRIVATE_H_ */
1 +/* ftconfig.h. Generated from ftconfig.h.in by configure. */
2 +/****************************************************************************
3 + *
4 + * ftconfig.h.in
5 + *
6 + * UNIX-specific configuration file (specification only).
7 + *
8 + * Copyright (C) 1996-2020 by
9 + * David Turner, Robert Wilhelm, and Werner Lemberg.
10 + *
11 + * This file is part of the FreeType project, and may only be used,
12 + * modified, and distributed under the terms of the FreeType project
13 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
14 + * this file you indicate that you have read the license and
15 + * understand and accept it fully.
16 + *
17 + */
18 +
19 +
20 + /**************************************************************************
21 + *
22 + * This header file contains a number of macro definitions that are used by
23 + * the rest of the engine. Most of the macros here are automatically
24 + * determined at compile time, and you should not need to change it to port
25 + * FreeType, except to compile the library with a non-ANSI compiler.
26 + *
27 + * Note however that if some specific modifications are needed, we advise
28 + * you to place a modified copy in your build directory.
29 + *
30 + * The build directory is usually `builds/<system>`, and contains
31 + * system-specific files that are always included first when building the
32 + * library.
33 + *
34 + */
35 +
36 +#ifndef FTCONFIG_H_
37 +#define FTCONFIG_H_
38 +
39 +#include <ft2build.h>
40 +#include FT_CONFIG_OPTIONS_H
41 +#include FT_CONFIG_STANDARD_LIBRARY_H
42 +
43 +#define HAVE_UNISTD_H 1
44 +#define HAVE_FCNTL_H 1
45 +
46 +/* #undef FT_USE_AUTOCONF_SIZEOF_TYPES */
47 +#ifdef FT_USE_AUTOCONF_SIZEOF_TYPES
48 +
49 +#define SIZEOF_INT 4
50 +#define SIZEOF_LONG 4
51 +#define FT_SIZEOF_INT SIZEOF_INT
52 +#define FT_SIZEOF_LONG SIZEOF_LONG
53 +
54 +#endif /* FT_USE_AUTOCONF_SIZEOF_TYPES */
55 +
56 +#include <freetype/config/integer-types.h>
57 +#include <freetype/config/public-macros.h>
58 +#include <freetype/config/mac-support.h>
59 +
60 +#endif /* FTCONFIG_H_ */
61 +
62 +
63 +/* END */
1 +/* This is a generated file. */
2 +FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
3 +FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
4 +FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
5 +FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
6 +FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
7 +FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
8 +FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
9 +FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
10 +FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
11 +FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
12 +FT_USE_MODULE( FT_Module_Class, autofit_module_class )
13 +FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
14 +FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
15 +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
16 +FT_USE_MODULE( FT_Module_Class, psaux_module_class )
17 +FT_USE_MODULE( FT_Module_Class, psnames_module_class )
18 +/* EOF */
1 +/****************************************************************************
2 + *
3 + * ftstdlib.h
4 + *
5 + * ANSI-specific library and header configuration file (specification
6 + * only).
7 + *
8 + * Copyright (C) 2002-2020 by
9 + * David Turner, Robert Wilhelm, and Werner Lemberg.
10 + *
11 + * This file is part of the FreeType project, and may only be used,
12 + * modified, and distributed under the terms of the FreeType project
13 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
14 + * this file you indicate that you have read the license and
15 + * understand and accept it fully.
16 + *
17 + */
18 +
19 +
20 + /**************************************************************************
21 + *
22 + * This file is used to group all `#includes` to the ANSI~C library that
23 + * FreeType normally requires. It also defines macros to rename the
24 + * standard functions within the FreeType source code.
25 + *
26 + * Load a file which defines `FTSTDLIB_H_` before this one to override it.
27 + *
28 + */
29 +
30 +
31 +#ifndef FTSTDLIB_H_
32 +#define FTSTDLIB_H_
33 +
34 +
35 +#include <stddef.h>
36 +
37 +#define ft_ptrdiff_t ptrdiff_t
38 +
39 +
40 + /**************************************************************************
41 + *
42 + * integer limits
43 + *
44 + * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of
45 + * `int` and `long` in bytes at compile-time. So far, this works for all
46 + * platforms the library has been tested on.
47 + *
48 + * Note that on the extremely rare platforms that do not provide integer
49 + * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where
50 + * `int` is 36~bits), we do not make any guarantee about the correct
51 + * behaviour of FreeType~2 with all fonts.
52 + *
53 + * In these cases, `ftconfig.h` will refuse to compile anyway with a
54 + * message like 'couldn't find 32-bit type' or something similar.
55 + *
56 + */
57 +
58 +
59 +#include <limits.h>
60 +
61 +#define FT_CHAR_BIT CHAR_BIT
62 +#define FT_USHORT_MAX USHRT_MAX
63 +#define FT_INT_MAX INT_MAX
64 +#define FT_INT_MIN INT_MIN
65 +#define FT_UINT_MAX UINT_MAX
66 +#define FT_LONG_MIN LONG_MIN
67 +#define FT_LONG_MAX LONG_MAX
68 +#define FT_ULONG_MAX ULONG_MAX
69 +
70 +
71 + /**************************************************************************
72 + *
73 + * character and string processing
74 + *
75 + */
76 +
77 +
78 +#include <string.h>
79 +
80 +#define ft_memchr memchr
81 +#define ft_memcmp memcmp
82 +#define ft_memcpy memcpy
83 +#define ft_memmove memmove
84 +#define ft_memset memset
85 +#define ft_strcat strcat
86 +#define ft_strcmp strcmp
87 +#define ft_strcpy strcpy
88 +#define ft_strlen strlen
89 +#define ft_strncmp strncmp
90 +#define ft_strncpy strncpy
91 +#define ft_strrchr strrchr
92 +#define ft_strstr strstr
93 +
94 +
95 + /**************************************************************************
96 + *
97 + * file handling
98 + *
99 + */
100 +
101 +
102 +#include <stdio.h>
103 +
104 +#define FT_FILE FILE
105 +#define ft_fclose fclose
106 +#define ft_fopen fopen
107 +#define ft_fread fread
108 +#define ft_fseek fseek
109 +#define ft_ftell ftell
110 +#define ft_sprintf sprintf
111 +
112 +
113 + /**************************************************************************
114 + *
115 + * sorting
116 + *
117 + */
118 +
119 +
120 +#include <stdlib.h>
121 +
122 +#define ft_qsort qsort
123 +
124 +
125 + /**************************************************************************
126 + *
127 + * memory allocation
128 + *
129 + */
130 +
131 +
132 +#define ft_scalloc calloc
133 +#define ft_sfree free
134 +#define ft_smalloc malloc
135 +#define ft_srealloc realloc
136 +
137 +
138 + /**************************************************************************
139 + *
140 + * miscellaneous
141 + *
142 + */
143 +
144 +
145 +#define ft_strtol strtol
146 +#define ft_getenv getenv
147 +
148 +
149 + /**************************************************************************
150 + *
151 + * execution control
152 + *
153 + */
154 +
155 +
156 +#include <setjmp.h>
157 +
158 +#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */
159 + /* `jmp_buf` is defined as a macro */
160 + /* on certain platforms */
161 +
162 +#define ft_longjmp longjmp
163 +#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
164 +
165 +
166 + /* The following is only used for debugging purposes, i.e., if */
167 + /* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */
168 +
169 +#include <stdarg.h>
170 +
171 +
172 +#endif /* FTSTDLIB_H_ */
173 +
174 +
175 +/* END */
1 +/****************************************************************************
2 + *
3 + * config/integer-types.h
4 + *
5 + * FreeType integer types definitions.
6 + *
7 + * Copyright (C) 1996-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +#ifndef FREETYPE_CONFIG_INTEGER_TYPES_H_
18 +#define FREETYPE_CONFIG_INTEGER_TYPES_H_
19 +
20 + /* There are systems (like the Texas Instruments 'C54x) where a `char` */
21 + /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */
22 + /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */
23 + /* is probably unexpected. */
24 + /* */
25 + /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */
26 + /* `char` type. */
27 +
28 +#ifndef FT_CHAR_BIT
29 +#define FT_CHAR_BIT CHAR_BIT
30 +#endif
31 +
32 +#ifndef FT_SIZEOF_INT
33 +
34 + /* The size of an `int` type. */
35 +#if FT_UINT_MAX == 0xFFFFUL
36 +#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
37 +#elif FT_UINT_MAX == 0xFFFFFFFFUL
38 +#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
39 +#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
40 +#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
41 +#else
42 +#error "Unsupported size of `int' type!"
43 +#endif
44 +
45 +#endif /* !defined(FT_SIZEOF_INT) */
46 +
47 +#ifndef FT_SIZEOF_LONG
48 +
49 + /* The size of a `long` type. A five-byte `long` (as used e.g. on the */
50 + /* DM642) is recognized but avoided. */
51 +#if FT_ULONG_MAX == 0xFFFFFFFFUL
52 +#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
53 +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
54 +#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
55 +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
56 +#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
57 +#else
58 +#error "Unsupported size of `long' type!"
59 +#endif
60 +
61 +#endif /* !defined(FT_SIZEOF_LONG) */
62 +
63 + /**************************************************************************
64 + *
65 + * @section:
66 + * basic_types
67 + *
68 + */
69 +
70 +
71 + /**************************************************************************
72 + *
73 + * @type:
74 + * FT_Int16
75 + *
76 + * @description:
77 + * A typedef for a 16bit signed integer type.
78 + */
79 + typedef signed short FT_Int16;
80 +
81 +
82 + /**************************************************************************
83 + *
84 + * @type:
85 + * FT_UInt16
86 + *
87 + * @description:
88 + * A typedef for a 16bit unsigned integer type.
89 + */
90 + typedef unsigned short FT_UInt16;
91 +
92 + /* */
93 +
94 +
95 + /* this #if 0 ... #endif clause is for documentation purposes */
96 +#if 0
97 +
98 + /**************************************************************************
99 + *
100 + * @type:
101 + * FT_Int32
102 + *
103 + * @description:
104 + * A typedef for a 32bit signed integer type. The size depends on the
105 + * configuration.
106 + */
107 + typedef signed XXX FT_Int32;
108 +
109 +
110 + /**************************************************************************
111 + *
112 + * @type:
113 + * FT_UInt32
114 + *
115 + * A typedef for a 32bit unsigned integer type. The size depends on the
116 + * configuration.
117 + */
118 + typedef unsigned XXX FT_UInt32;
119 +
120 +
121 + /**************************************************************************
122 + *
123 + * @type:
124 + * FT_Int64
125 + *
126 + * A typedef for a 64bit signed integer type. The size depends on the
127 + * configuration. Only defined if there is real 64bit support;
128 + * otherwise, it gets emulated with a structure (if necessary).
129 + */
130 + typedef signed XXX FT_Int64;
131 +
132 +
133 + /**************************************************************************
134 + *
135 + * @type:
136 + * FT_UInt64
137 + *
138 + * A typedef for a 64bit unsigned integer type. The size depends on the
139 + * configuration. Only defined if there is real 64bit support;
140 + * otherwise, it gets emulated with a structure (if necessary).
141 + */
142 + typedef unsigned XXX FT_UInt64;
143 +
144 + /* */
145 +
146 +#endif
147 +
148 +#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
149 +
150 + typedef signed int FT_Int32;
151 + typedef unsigned int FT_UInt32;
152 +
153 +#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
154 +
155 + typedef signed long FT_Int32;
156 + typedef unsigned long FT_UInt32;
157 +
158 +#else
159 +#error "no 32bit type found -- please check your configuration files"
160 +#endif
161 +
162 +
163 + /* look up an integer type that is at least 32~bits */
164 +#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
165 +
166 + typedef int FT_Fast;
167 + typedef unsigned int FT_UFast;
168 +
169 +#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
170 +
171 + typedef long FT_Fast;
172 + typedef unsigned long FT_UFast;
173 +
174 +#endif
175 +
176 +
177 + /* determine whether we have a 64-bit `int` type for platforms without */
178 + /* Autoconf */
179 +#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
180 +
181 + /* `FT_LONG64` must be defined if a 64-bit type is available */
182 +#define FT_LONG64
183 +#define FT_INT64 long
184 +#define FT_UINT64 unsigned long
185 +
186 + /**************************************************************************
187 + *
188 + * A 64-bit data type may create compilation problems if you compile in
189 + * strict ANSI mode. To avoid them, we disable other 64-bit data types if
190 + * `__STDC__` is defined. You can however ignore this rule by defining the
191 + * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
192 + */
193 +#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
194 +
195 +#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
196 +
197 +#define FT_LONG64
198 +#define FT_INT64 long long int
199 +#define FT_UINT64 unsigned long long int
200 +
201 +#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
202 +
203 + /* this compiler provides the `__int64` type */
204 +#define FT_LONG64
205 +#define FT_INT64 __int64
206 +#define FT_UINT64 unsigned __int64
207 +
208 +#elif defined( __BORLANDC__ ) /* Borland C++ */
209 +
210 + /* XXXX: We should probably check the value of `__BORLANDC__` in order */
211 + /* to test the compiler version. */
212 +
213 + /* this compiler provides the `__int64` type */
214 +#define FT_LONG64
215 +#define FT_INT64 __int64
216 +#define FT_UINT64 unsigned __int64
217 +
218 +#elif defined( __WATCOMC__ ) /* Watcom C++ */
219 +
220 + /* Watcom doesn't provide 64-bit data types */
221 +
222 +#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
223 +
224 +#define FT_LONG64
225 +#define FT_INT64 long long int
226 +#define FT_UINT64 unsigned long long int
227 +
228 +#elif defined( __GNUC__ )
229 +
230 + /* GCC provides the `long long` type */
231 +#define FT_LONG64
232 +#define FT_INT64 long long int
233 +#define FT_UINT64 unsigned long long int
234 +
235 +#endif /* __STDC_VERSION__ >= 199901L */
236 +
237 +#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
238 +
239 +#ifdef FT_LONG64
240 + typedef FT_INT64 FT_Int64;
241 + typedef FT_UINT64 FT_UInt64;
242 +#endif
243 +
244 +
245 +#endif /* FREETYPE_CONFIG_INTEGER_TYPES_H_ */
1 +/****************************************************************************
2 + *
3 + * config/mac-support.h
4 + *
5 + * Mac/OS X support configuration header.
6 + *
7 + * Copyright (C) 1996-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +#ifndef FREETYPE_CONFIG_MAC_SUPPORT_H_
18 +#define FREETYPE_CONFIG_MAC_SUPPORT_H_
19 +
20 + /**************************************************************************
21 + *
22 + * Mac support
23 + *
24 + * This is the only necessary change, so it is defined here instead
25 + * providing a new configuration file.
26 + */
27 +#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
28 + /* No Carbon frameworks for 64bit 10.4.x. */
29 + /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */
30 + /* so guess the system version by maximum errno before inclusion. */
31 +#include <errno.h>
32 +#ifdef ECANCELED /* defined since 10.2 */
33 +#include "AvailabilityMacros.h"
34 +#endif
35 +#if defined( __LP64__ ) && \
36 + ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
37 +#undef FT_MACINTOSH
38 +#endif
39 +
40 +#elif defined( __SC__ ) || defined( __MRC__ )
41 + /* Classic MacOS compilers */
42 +#include "ConditionalMacros.h"
43 +#if TARGET_OS_MAC
44 +#define FT_MACINTOSH 1
45 +#endif
46 +
47 +#endif /* Mac support */
48 +
49 +#endif /* FREETYPE_CONFIG_MAC_SUPPORT_H_ */
1 +/****************************************************************************
2 + *
3 + * config/public-macros.h
4 + *
5 + * Define a set of compiler macros used in public FreeType headers.
6 + *
7 + * Copyright (C) 2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 + /*
19 + * The definitions in this file are used by the public FreeType headers
20 + * and thus should be considered part of the public API.
21 + *
22 + * Other compiler-specific macro definitions that are not exposed by the
23 + * FreeType API should go into
24 + * `include/freetype/internal/compiler-macros.h` instead.
25 + */
26 +#ifndef FREETYPE_CONFIG_PUBLIC_MACROS_H_
27 +#define FREETYPE_CONFIG_PUBLIC_MACROS_H_
28 +
29 + /*
30 + * `FT_BEGIN_HEADER` and `FT_END_HEADER` might have already been defined
31 + * by `freetype/config/ftheader.h`, but we don't want to include this
32 + * header here, so redefine the macros here only when needed. Their
33 + * definition is very stable, so keeping them in sync with the ones in the
34 + * header should not be a maintenance issue.
35 + */
36 +#ifndef FT_BEGIN_HEADER
37 +#ifdef __cplusplus
38 +#define FT_BEGIN_HEADER extern "C" {
39 +#else
40 +#define FT_BEGIN_HEADER /* empty */
41 +#endif
42 +#endif /* FT_BEGIN_HEADER */
43 +
44 +#ifndef FT_END_HEADER
45 +#ifdef __cplusplus
46 +#define FT_END_HEADER }
47 +#else
48 +#define FT_END_HEADER /* empty */
49 +#endif
50 +#endif /* FT_END_HEADER */
51 +
52 +
53 +FT_BEGIN_HEADER
54 +
55 + /*
56 + * Mark a function declaration as public. This ensures it will be
57 + * properly exported to client code. Place this before a function
58 + * declaration.
59 + *
60 + * NOTE: This macro should be considered an internal implementation
61 + * detail, and not part of the FreeType API. It is only defined here
62 + * because it is needed by `FT_EXPORT`.
63 + */
64 +
65 + /* Visual C, mingw */
66 +#if defined( _WIN32 )
67 +
68 +#if defined( FT2_BUILD_LIBRARY ) && defined( DLL_EXPORT )
69 +#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllexport )
70 +#elif defined( DLL_IMPORT )
71 +#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllimport )
72 +#endif
73 +
74 + /* gcc, clang */
75 +#elif ( defined( __GNUC__ ) && __GNUC__ >= 4 ) || defined( __clang__ )
76 +#define FT_PUBLIC_FUNCTION_ATTRIBUTE \
77 + __attribute__(( visibility( "default" ) ))
78 +
79 + /* Sun */
80 +#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
81 +#define FT_PUBLIC_FUNCTION_ATTRIBUTE __global
82 +#endif
83 +
84 +
85 +#ifndef FT_PUBLIC_FUNCTION_ATTRIBUTE
86 +#define FT_PUBLIC_FUNCTION_ATTRIBUTE /* empty */
87 +#endif
88 +
89 +
90 + /*
91 + * Define a public FreeType API function. This ensures it is properly
92 + * exported or imported at build time. The macro parameter is the
93 + * function's return type as in:
94 + *
95 + * FT_EXPORT( FT_Bool )
96 + * FT_Object_Method( FT_Object obj,
97 + * ... );
98 + *
99 + * NOTE: This requires that all `FT_EXPORT` uses are inside
100 + * `FT_BEGIN_HEADER ... FT_END_HEADER` blocks. This guarantees that the
101 + * functions are exported with C linkage, even when the header is included
102 + * by a C++ source file.
103 + */
104 +#define FT_EXPORT( x ) FT_PUBLIC_FUNCTION_ATTRIBUTE extern x
105 +
106 + /*
107 + * `FT_UNUSED` indicates that a given parameter is not used -- this is
108 + * only used to get rid of unpleasant compiler warnings.
109 + *
110 + * Technically, this was not meant to be part of the public API, but some
111 + * third-party code depends on it.
112 + */
113 +#ifndef FT_UNUSED
114 +#define FT_UNUSED( arg ) ( (arg) = (arg) )
115 +#endif
116 +
117 +
118 +FT_END_HEADER
119 +
120 +#endif /* FREETYPE_CONFIG_PUBLIC_MACROS_H_ */
This diff could not be displayed because it is too large.
1 +/****************************************************************************
2 + *
3 + * ftadvanc.h
4 + *
5 + * Quick computation of advance widths (specification only).
6 + *
7 + * Copyright (C) 2008-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 +
19 +#ifndef FTADVANC_H_
20 +#define FTADVANC_H_
21 +
22 +
23 +#include <freetype/freetype.h>
24 +
25 +#ifdef FREETYPE_H
26 +#error "freetype.h of FreeType 1 has been loaded!"
27 +#error "Please fix the directory search order for header files"
28 +#error "so that freetype.h of FreeType 2 is found first."
29 +#endif
30 +
31 +
32 +FT_BEGIN_HEADER
33 +
34 +
35 + /**************************************************************************
36 + *
37 + * @section:
38 + * quick_advance
39 + *
40 + * @title:
41 + * Quick retrieval of advance values
42 + *
43 + * @abstract:
44 + * Retrieve horizontal and vertical advance values without processing
45 + * glyph outlines, if possible.
46 + *
47 + * @description:
48 + * This section contains functions to quickly extract advance values
49 + * without handling glyph outlines, if possible.
50 + *
51 + * @order:
52 + * FT_Get_Advance
53 + * FT_Get_Advances
54 + *
55 + */
56 +
57 +
58 + /**************************************************************************
59 + *
60 + * @enum:
61 + * FT_ADVANCE_FLAG_FAST_ONLY
62 + *
63 + * @description:
64 + * A bit-flag to be OR-ed with the `flags` parameter of the
65 + * @FT_Get_Advance and @FT_Get_Advances functions.
66 + *
67 + * If set, it indicates that you want these functions to fail if the
68 + * corresponding hinting mode or font driver doesn't allow for very quick
69 + * advance computation.
70 + *
71 + * Typically, glyphs that are either unscaled, unhinted, bitmapped, or
72 + * light-hinted can have their advance width computed very quickly.
73 + *
74 + * Normal and bytecode hinted modes that require loading, scaling, and
75 + * hinting of the glyph outline, are extremely slow by comparison.
76 + */
77 +#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L
78 +
79 +
80 + /**************************************************************************
81 + *
82 + * @function:
83 + * FT_Get_Advance
84 + *
85 + * @description:
86 + * Retrieve the advance value of a given glyph outline in an @FT_Face.
87 + *
88 + * @input:
89 + * face ::
90 + * The source @FT_Face handle.
91 + *
92 + * gindex ::
93 + * The glyph index.
94 + *
95 + * load_flags ::
96 + * A set of bit flags similar to those used when calling
97 + * @FT_Load_Glyph, used to determine what kind of advances you need.
98 + *
99 + * @output:
100 + * padvance ::
101 + * The advance value. If scaling is performed (based on the value of
102 + * `load_flags`), the advance value is in 16.16 format. Otherwise, it
103 + * is in font units.
104 + *
105 + * If @FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance
106 + * corresponding to a vertical layout. Otherwise, it is the horizontal
107 + * advance in a horizontal layout.
108 + *
109 + * @return:
110 + * FreeType error code. 0 means success.
111 + *
112 + * @note:
113 + * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if
114 + * the corresponding font backend doesn't have a quick way to retrieve
115 + * the advances.
116 + *
117 + * A scaled advance is returned in 16.16 format but isn't transformed by
118 + * the affine transformation specified by @FT_Set_Transform.
119 + */
120 + FT_EXPORT( FT_Error )
121 + FT_Get_Advance( FT_Face face,
122 + FT_UInt gindex,
123 + FT_Int32 load_flags,
124 + FT_Fixed *padvance );
125 +
126 +
127 + /**************************************************************************
128 + *
129 + * @function:
130 + * FT_Get_Advances
131 + *
132 + * @description:
133 + * Retrieve the advance values of several glyph outlines in an @FT_Face.
134 + *
135 + * @input:
136 + * face ::
137 + * The source @FT_Face handle.
138 + *
139 + * start ::
140 + * The first glyph index.
141 + *
142 + * count ::
143 + * The number of advance values you want to retrieve.
144 + *
145 + * load_flags ::
146 + * A set of bit flags similar to those used when calling
147 + * @FT_Load_Glyph.
148 + *
149 + * @output:
150 + * padvance ::
151 + * The advance values. This array, to be provided by the caller, must
152 + * contain at least `count` elements.
153 + *
154 + * If scaling is performed (based on the value of `load_flags`), the
155 + * advance values are in 16.16 format. Otherwise, they are in font
156 + * units.
157 + *
158 + * If @FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances
159 + * corresponding to a vertical layout. Otherwise, they are the
160 + * horizontal advances in a horizontal layout.
161 + *
162 + * @return:
163 + * FreeType error code. 0 means success.
164 + *
165 + * @note:
166 + * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if
167 + * the corresponding font backend doesn't have a quick way to retrieve
168 + * the advances.
169 + *
170 + * Scaled advances are returned in 16.16 format but aren't transformed by
171 + * the affine transformation specified by @FT_Set_Transform.
172 + */
173 + FT_EXPORT( FT_Error )
174 + FT_Get_Advances( FT_Face face,
175 + FT_UInt start,
176 + FT_UInt count,
177 + FT_Int32 load_flags,
178 + FT_Fixed *padvances );
179 +
180 + /* */
181 +
182 +
183 +FT_END_HEADER
184 +
185 +#endif /* FTADVANC_H_ */
186 +
187 +
188 +/* END */
1 +/****************************************************************************
2 + *
3 + * ftbbox.h
4 + *
5 + * FreeType exact bbox computation (specification).
6 + *
7 + * Copyright (C) 1996-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 +
19 + /**************************************************************************
20 + *
21 + * This component has a _single_ role: to compute exact outline bounding
22 + * boxes.
23 + *
24 + * It is separated from the rest of the engine for various technical
25 + * reasons. It may well be integrated in 'ftoutln' later.
26 + *
27 + */
28 +
29 +
30 +#ifndef FTBBOX_H_
31 +#define FTBBOX_H_
32 +
33 +
34 +#include <freetype/freetype.h>
35 +
36 +#ifdef FREETYPE_H
37 +#error "freetype.h of FreeType 1 has been loaded!"
38 +#error "Please fix the directory search order for header files"
39 +#error "so that freetype.h of FreeType 2 is found first."
40 +#endif
41 +
42 +
43 +FT_BEGIN_HEADER
44 +
45 +
46 + /**************************************************************************
47 + *
48 + * @section:
49 + * outline_processing
50 + *
51 + */
52 +
53 +
54 + /**************************************************************************
55 + *
56 + * @function:
57 + * FT_Outline_Get_BBox
58 + *
59 + * @description:
60 + * Compute the exact bounding box of an outline. This is slower than
61 + * computing the control box. However, it uses an advanced algorithm
62 + * that returns _very_ quickly when the two boxes coincide. Otherwise,
63 + * the outline Bezier arcs are traversed to extract their extrema.
64 + *
65 + * @input:
66 + * outline ::
67 + * A pointer to the source outline.
68 + *
69 + * @output:
70 + * abbox ::
71 + * The outline's exact bounding box.
72 + *
73 + * @return:
74 + * FreeType error code. 0~means success.
75 + *
76 + * @note:
77 + * If the font is tricky and the glyph has been loaded with
78 + * @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get
79 + * reasonable values for the BBox it is necessary to load the glyph at a
80 + * large ppem value (so that the hinting instructions can properly shift
81 + * and scale the subglyphs), then extracting the BBox, which can be
82 + * eventually converted back to font units.
83 + */
84 + FT_EXPORT( FT_Error )
85 + FT_Outline_Get_BBox( FT_Outline* outline,
86 + FT_BBox *abbox );
87 +
88 + /* */
89 +
90 +
91 +FT_END_HEADER
92 +
93 +#endif /* FTBBOX_H_ */
94 +
95 +
96 +/* END */
97 +
98 +
99 +/* Local Variables: */
100 +/* coding: utf-8 */
101 +/* End: */
1 +/****************************************************************************
2 + *
3 + * ftbdf.h
4 + *
5 + * FreeType API for accessing BDF-specific strings (specification).
6 + *
7 + * Copyright (C) 2002-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 +
19 +#ifndef FTBDF_H_
20 +#define FTBDF_H_
21 +
22 +#include <freetype/freetype.h>
23 +
24 +#ifdef FREETYPE_H
25 +#error "freetype.h of FreeType 1 has been loaded!"
26 +#error "Please fix the directory search order for header files"
27 +#error "so that freetype.h of FreeType 2 is found first."
28 +#endif
29 +
30 +
31 +FT_BEGIN_HEADER
32 +
33 +
34 + /**************************************************************************
35 + *
36 + * @section:
37 + * bdf_fonts
38 + *
39 + * @title:
40 + * BDF and PCF Files
41 + *
42 + * @abstract:
43 + * BDF and PCF specific API.
44 + *
45 + * @description:
46 + * This section contains the declaration of functions specific to BDF and
47 + * PCF fonts.
48 + *
49 + */
50 +
51 +
52 + /**************************************************************************
53 + *
54 + * @enum:
55 + * BDF_PropertyType
56 + *
57 + * @description:
58 + * A list of BDF property types.
59 + *
60 + * @values:
61 + * BDF_PROPERTY_TYPE_NONE ::
62 + * Value~0 is used to indicate a missing property.
63 + *
64 + * BDF_PROPERTY_TYPE_ATOM ::
65 + * Property is a string atom.
66 + *
67 + * BDF_PROPERTY_TYPE_INTEGER ::
68 + * Property is a 32-bit signed integer.
69 + *
70 + * BDF_PROPERTY_TYPE_CARDINAL ::
71 + * Property is a 32-bit unsigned integer.
72 + */
73 + typedef enum BDF_PropertyType_
74 + {
75 + BDF_PROPERTY_TYPE_NONE = 0,
76 + BDF_PROPERTY_TYPE_ATOM = 1,
77 + BDF_PROPERTY_TYPE_INTEGER = 2,
78 + BDF_PROPERTY_TYPE_CARDINAL = 3
79 +
80 + } BDF_PropertyType;
81 +
82 +
83 + /**************************************************************************
84 + *
85 + * @type:
86 + * BDF_Property
87 + *
88 + * @description:
89 + * A handle to a @BDF_PropertyRec structure to model a given BDF/PCF
90 + * property.
91 + */
92 + typedef struct BDF_PropertyRec_* BDF_Property;
93 +
94 +
95 + /**************************************************************************
96 + *
97 + * @struct:
98 + * BDF_PropertyRec
99 + *
100 + * @description:
101 + * This structure models a given BDF/PCF property.
102 + *
103 + * @fields:
104 + * type ::
105 + * The property type.
106 + *
107 + * u.atom ::
108 + * The atom string, if type is @BDF_PROPERTY_TYPE_ATOM. May be
109 + * `NULL`, indicating an empty string.
110 + *
111 + * u.integer ::
112 + * A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
113 + *
114 + * u.cardinal ::
115 + * An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
116 + */
117 + typedef struct BDF_PropertyRec_
118 + {
119 + BDF_PropertyType type;
120 + union {
121 + const char* atom;
122 + FT_Int32 integer;
123 + FT_UInt32 cardinal;
124 +
125 + } u;
126 +
127 + } BDF_PropertyRec;
128 +
129 +
130 + /**************************************************************************
131 + *
132 + * @function:
133 + * FT_Get_BDF_Charset_ID
134 + *
135 + * @description:
136 + * Retrieve a BDF font character set identity, according to the BDF
137 + * specification.
138 + *
139 + * @input:
140 + * face ::
141 + * A handle to the input face.
142 + *
143 + * @output:
144 + * acharset_encoding ::
145 + * Charset encoding, as a C~string, owned by the face.
146 + *
147 + * acharset_registry ::
148 + * Charset registry, as a C~string, owned by the face.
149 + *
150 + * @return:
151 + * FreeType error code. 0~means success.
152 + *
153 + * @note:
154 + * This function only works with BDF faces, returning an error otherwise.
155 + */
156 + FT_EXPORT( FT_Error )
157 + FT_Get_BDF_Charset_ID( FT_Face face,
158 + const char* *acharset_encoding,
159 + const char* *acharset_registry );
160 +
161 +
162 + /**************************************************************************
163 + *
164 + * @function:
165 + * FT_Get_BDF_Property
166 + *
167 + * @description:
168 + * Retrieve a BDF property from a BDF or PCF font file.
169 + *
170 + * @input:
171 + * face ::
172 + * A handle to the input face.
173 + *
174 + * name ::
175 + * The property name.
176 + *
177 + * @output:
178 + * aproperty ::
179 + * The property.
180 + *
181 + * @return:
182 + * FreeType error code. 0~means success.
183 + *
184 + * @note:
185 + * This function works with BDF _and_ PCF fonts. It returns an error
186 + * otherwise. It also returns an error if the property is not in the
187 + * font.
188 + *
189 + * A 'property' is a either key-value pair within the STARTPROPERTIES
190 + * ... ENDPROPERTIES block of a BDF font or a key-value pair from the
191 + * `info->props` array within a `FontRec` structure of a PCF font.
192 + *
193 + * Integer properties are always stored as 'signed' within PCF fonts;
194 + * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
195 + * for BDF fonts only.
196 + *
197 + * In case of error, `aproperty->type` is always set to
198 + * @BDF_PROPERTY_TYPE_NONE.
199 + */
200 + FT_EXPORT( FT_Error )
201 + FT_Get_BDF_Property( FT_Face face,
202 + const char* prop_name,
203 + BDF_PropertyRec *aproperty );
204 +
205 + /* */
206 +
207 +FT_END_HEADER
208 +
209 +#endif /* FTBDF_H_ */
210 +
211 +
212 +/* END */
1 +/****************************************************************************
2 + *
3 + * ftbitmap.h
4 + *
5 + * FreeType utility functions for bitmaps (specification).
6 + *
7 + * Copyright (C) 2004-2020 by
8 + * David Turner, Robert Wilhelm, and Werner Lemberg.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 +
19 +#ifndef FTBITMAP_H_
20 +#define FTBITMAP_H_
21 +
22 +
23 +#include <freetype/freetype.h>
24 +#include <freetype/ftcolor.h>
25 +
26 +#ifdef FREETYPE_H
27 +#error "freetype.h of FreeType 1 has been loaded!"
28 +#error "Please fix the directory search order for header files"
29 +#error "so that freetype.h of FreeType 2 is found first."
30 +#endif
31 +
32 +
33 +FT_BEGIN_HEADER
34 +
35 +
36 + /**************************************************************************
37 + *
38 + * @section:
39 + * bitmap_handling
40 + *
41 + * @title:
42 + * Bitmap Handling
43 + *
44 + * @abstract:
45 + * Handling FT_Bitmap objects.
46 + *
47 + * @description:
48 + * This section contains functions for handling @FT_Bitmap objects,
49 + * automatically adjusting the target's bitmap buffer size as needed.
50 + *
51 + * Note that none of the functions changes the bitmap's 'flow' (as
52 + * indicated by the sign of the `pitch` field in @FT_Bitmap).
53 + *
54 + * To set the flow, assign an appropriate positive or negative value to
55 + * the `pitch` field of the target @FT_Bitmap object after calling
56 + * @FT_Bitmap_Init but before calling any of the other functions
57 + * described here.
58 + */
59 +
60 +
61 + /**************************************************************************
62 + *
63 + * @function:
64 + * FT_Bitmap_Init
65 + *
66 + * @description:
67 + * Initialize a pointer to an @FT_Bitmap structure.
68 + *
69 + * @inout:
70 + * abitmap ::
71 + * A pointer to the bitmap structure.
72 + *
73 + * @note:
74 + * A deprecated name for the same function is `FT_Bitmap_New`.
75 + */
76 + FT_EXPORT( void )
77 + FT_Bitmap_Init( FT_Bitmap *abitmap );
78 +
79 +
80 + /* deprecated */
81 + FT_EXPORT( void )
82 + FT_Bitmap_New( FT_Bitmap *abitmap );
83 +
84 +
85 + /**************************************************************************
86 + *
87 + * @function:
88 + * FT_Bitmap_Copy
89 + *
90 + * @description:
91 + * Copy a bitmap into another one.
92 + *
93 + * @input:
94 + * library ::
95 + * A handle to a library object.
96 + *
97 + * source ::
98 + * A handle to the source bitmap.
99 + *
100 + * @output:
101 + * target ::
102 + * A handle to the target bitmap.
103 + *
104 + * @return:
105 + * FreeType error code. 0~means success.
106 + *
107 + * @note:
108 + * `source->buffer` and `target->buffer` must neither be equal nor
109 + * overlap.
110 + */
111 + FT_EXPORT( FT_Error )
112 + FT_Bitmap_Copy( FT_Library library,
113 + const FT_Bitmap *source,
114 + FT_Bitmap *target );
115 +
116 +
117 + /**************************************************************************
118 + *
119 + * @function:
120 + * FT_Bitmap_Embolden
121 + *
122 + * @description:
123 + * Embolden a bitmap. The new bitmap will be about `xStrength` pixels
124 + * wider and `yStrength` pixels higher. The left and bottom borders are
125 + * kept unchanged.
126 + *
127 + * @input:
128 + * library ::
129 + * A handle to a library object.
130 + *
131 + * xStrength ::
132 + * How strong the glyph is emboldened horizontally. Expressed in 26.6
133 + * pixel format.
134 + *
135 + * yStrength ::
136 + * How strong the glyph is emboldened vertically. Expressed in 26.6
137 + * pixel format.
138 + *
139 + * @inout:
140 + * bitmap ::
141 + * A handle to the target bitmap.
142 + *
143 + * @return:
144 + * FreeType error code. 0~means success.
145 + *
146 + * @note:
147 + * The current implementation restricts `xStrength` to be less than or
148 + * equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.
149 + *
150 + * If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, you
151 + * should call @FT_GlyphSlot_Own_Bitmap on the slot first.
152 + *
153 + * Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format are
154 + * converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp).
155 + */
156 + FT_EXPORT( FT_Error )
157 + FT_Bitmap_Embolden( FT_Library library,
158 + FT_Bitmap* bitmap,
159 + FT_Pos xStrength,
160 + FT_Pos yStrength );
161 +
162 +
163 + /**************************************************************************
164 + *
165 + * @function:
166 + * FT_Bitmap_Convert
167 + *
168 + * @description:
169 + * Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to
170 + * a bitmap object with depth 8bpp, making the number of used bytes per
171 + * line (a.k.a. the 'pitch') a multiple of `alignment`.
172 + *
173 + * @input:
174 + * library ::
175 + * A handle to a library object.
176 + *
177 + * source ::
178 + * The source bitmap.
179 + *
180 + * alignment ::
181 + * The pitch of the bitmap is a multiple of this argument. Common
182 + * values are 1, 2, or 4.
183 + *
184 + * @output:
185 + * target ::
186 + * The target bitmap.
187 + *
188 + * @return:
189 + * FreeType error code. 0~means success.
190 + *
191 + * @note:
192 + * It is possible to call @FT_Bitmap_Convert multiple times without
193 + * calling @FT_Bitmap_Done (the memory is simply reallocated).
194 + *
195 + * Use @FT_Bitmap_Done to finally remove the bitmap object.
196 + *
197 + * The `library` argument is taken to have access to FreeType's memory
198 + * handling functions.
199 + *
200 + * `source->buffer` and `target->buffer` must neither be equal nor
201 + * overlap.
202 + */
203 + FT_EXPORT( FT_Error )
204 + FT_Bitmap_Convert( FT_Library library,
205 + const FT_Bitmap *source,
206 + FT_Bitmap *target,
207 + FT_Int alignment );
208 +
209 +
210 + /**************************************************************************
211 + *
212 + * @function:
213 + * FT_Bitmap_Blend
214 + *
215 + * @description:
216 + * Blend a bitmap onto another bitmap, using a given color.
217 + *
218 + * @input:
219 + * library ::
220 + * A handle to a library object.
221 + *
222 + * source ::
223 + * The source bitmap, which can have any @FT_Pixel_Mode format.
224 + *
225 + * source_offset ::
226 + * The offset vector to the upper left corner of the source bitmap in
227 + * 26.6 pixel format. It should represent an integer offset; the
228 + * function will set the lowest six bits to zero to enforce that.
229 + *
230 + * color ::
231 + * The color used to draw `source` onto `target`.
232 + *
233 + * @inout:
234 + * target ::
235 + * A handle to an `FT_Bitmap` object. It should be either initialized
236 + * as empty with a call to @FT_Bitmap_Init, or it should be of type
237 + * @FT_PIXEL_MODE_BGRA.
238 + *
239 + * atarget_offset ::
240 + * The offset vector to the upper left corner of the target bitmap in
241 + * 26.6 pixel format. It should represent an integer offset; the
242 + * function will set the lowest six bits to zero to enforce that.
243 + *
244 + * @return:
245 + * FreeType error code. 0~means success.
246 + *
247 + * @note:
248 + * This function doesn't perform clipping.
249 + *
250 + * The bitmap in `target` gets allocated or reallocated as needed; the
251 + * vector `atarget_offset` is updated accordingly.
252 + *
253 + * In case of allocation or reallocation, the bitmap's pitch is set to
254 + * `4 * width`. Both `source` and `target` must have the same bitmap
255 + * flow (as indicated by the sign of the `pitch` field).
256 + *
257 + * `source->buffer` and `target->buffer` must neither be equal nor
258 + * overlap.
259 + *
260 + * @since:
261 + * 2.10
262 + */
263 + FT_EXPORT( FT_Error )
264 + FT_Bitmap_Blend( FT_Library library,
265 + const FT_Bitmap* source,
266 + const FT_Vector source_offset,
267 + FT_Bitmap* target,
268 + FT_Vector *atarget_offset,
269 + FT_Color color );
270 +
271 +
272 + /**************************************************************************
273 + *
274 + * @function:
275 + * FT_GlyphSlot_Own_Bitmap
276 + *
277 + * @description:
278 + * Make sure that a glyph slot owns `slot->bitmap`.
279 + *
280 + * @input:
281 + * slot ::
282 + * The glyph slot.
283 + *
284 + * @return:
285 + * FreeType error code. 0~means success.
286 + *
287 + * @note:
288 + * This function is to be used in combination with @FT_Bitmap_Embolden.
289 + */
290 + FT_EXPORT( FT_Error )
291 + FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
292 +
293 +
294 + /**************************************************************************
295 + *
296 + * @function:
297 + * FT_Bitmap_Done
298 + *
299 + * @description:
300 + * Destroy a bitmap object initialized with @FT_Bitmap_Init.
301 + *
302 + * @input:
303 + * library ::
304 + * A handle to a library object.
305 + *
306 + * bitmap ::
307 + * The bitmap object to be freed.
308 + *
309 + * @return:
310 + * FreeType error code. 0~means success.
311 + *
312 + * @note:
313 + * The `library` argument is taken to have access to FreeType's memory
314 + * handling functions.
315 + */
316 + FT_EXPORT( FT_Error )
317 + FT_Bitmap_Done( FT_Library library,
318 + FT_Bitmap *bitmap );
319 +
320 +
321 + /* */
322 +
323 +
324 +FT_END_HEADER
325 +
326 +#endif /* FTBITMAP_H_ */
327 +
328 +
329 +/* END */
1 +/****************************************************************************
2 + *
3 + * ftbzip2.h
4 + *
5 + * Bzip2-compressed stream support.
6 + *
7 + * Copyright (C) 2010-2020 by
8 + * Joel Klinghed.
9 + *
10 + * This file is part of the FreeType project, and may only be used,
11 + * modified, and distributed under the terms of the FreeType project
12 + * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 + * this file you indicate that you have read the license and
14 + * understand and accept it fully.
15 + *
16 + */
17 +
18 +
19 +#ifndef FTBZIP2_H_
20 +#define FTBZIP2_H_
21 +
22 +#include <freetype/freetype.h>
23 +
24 +#ifdef FREETYPE_H
25 +#error "freetype.h of FreeType 1 has been loaded!"
26 +#error "Please fix the directory search order for header files"
27 +#error "so that freetype.h of FreeType 2 is found first."
28 +#endif
29 +
30 +
31 +FT_BEGIN_HEADER
32 +
33 + /**************************************************************************
34 + *
35 + * @section:
36 + * bzip2
37 + *
38 + * @title:
39 + * BZIP2 Streams
40 + *
41 + * @abstract:
42 + * Using bzip2-compressed font files.
43 + *
44 + * @description:
45 + * In certain builds of the library, bzip2 compression recognition is
46 + * automatically handled when calling @FT_New_Face or @FT_Open_Face.
47 + * This means that if no font driver is capable of handling the raw
48 + * compressed file, the library will try to open a bzip2 compressed
49 + * stream from it and re-open the face with it.
50 + *
51 + * The stream implementation is very basic and resets the decompression
52 + * process each time seeking backwards is needed within the stream,
53 + * which significantly undermines the performance.
54 + *
55 + * This section contains the declaration of Bzip2-specific functions.
56 + *
57 + */
58 +
59 +
60 + /**************************************************************************
61 + *
62 + * @function:
63 + * FT_Stream_OpenBzip2
64 + *
65 + * @description:
66 + * Open a new stream to parse bzip2-compressed font files. This is
67 + * mainly used to support the compressed `*.pcf.bz2` fonts that come with
68 + * XFree86.
69 + *
70 + * @input:
71 + * stream ::
72 + * The target embedding stream.
73 + *
74 + * source ::
75 + * The source stream.
76 + *
77 + * @return:
78 + * FreeType error code. 0~means success.
79 + *
80 + * @note:
81 + * The source stream must be opened _before_ calling this function.
82 + *
83 + * Calling the internal function `FT_Stream_Close` on the new stream will
84 + * **not** call `FT_Stream_Close` on the source stream. None of the
85 + * stream objects will be released to the heap.
86 + *
87 + * This function may return `FT_Err_Unimplemented_Feature` if your build
88 + * of FreeType was not compiled with bzip2 support.
89 + */
90 + FT_EXPORT( FT_Error )
91 + FT_Stream_OpenBzip2( FT_Stream stream,
92 + FT_Stream source );
93 +
94 + /* */
95 +
96 +
97 +FT_END_HEADER
98 +
99 +#endif /* FTBZIP2_H_ */
100 +
101 +
102 +/* END */
1 +/****************************************************************************
2 + *
3 + * This file defines the structure of the FreeType reference.
4 + * It is used by the python script that generates the HTML files.
5 + *
6 + */
7 +
8 +
9 + /**************************************************************************
10 + *
11 + * @chapter:
12 + * general_remarks
13 + *
14 + * @title:
15 + * General Remarks
16 + *
17 + * @sections:
18 + * header_inclusion
19 + * user_allocation
20 + *
21 + */
22 +
23 +
24 + /**************************************************************************
25 + *
26 + * @chapter:
27 + * core_api
28 + *
29 + * @title:
30 + * Core API
31 + *
32 + * @sections:
33 + * version
34 + * basic_types
35 + * base_interface
36 + * glyph_variants
37 + * color_management
38 + * layer_management
39 + * glyph_management
40 + * mac_specific
41 + * sizes_management
42 + * header_file_macros
43 + *
44 + */
45 +
46 +
47 + /**************************************************************************
48 + *
49 + * @chapter:
50 + * format_specific
51 + *
52 + * @title:
53 + * Format-Specific API
54 + *
55 + * @sections:
56 + * multiple_masters
57 + * truetype_tables
58 + * type1_tables
59 + * sfnt_names
60 + * bdf_fonts
61 + * cid_fonts
62 + * pfr_fonts
63 + * winfnt_fonts
64 + * font_formats
65 + * gasp_table
66 + *
67 + */
68 +
69 +
70 + /**************************************************************************
71 + *
72 + * @chapter:
73 + * module_specific
74 + *
75 + * @title:
76 + * Controlling FreeType Modules
77 + *
78 + * @sections:
79 + * auto_hinter
80 + * cff_driver
81 + * t1_cid_driver
82 + * tt_driver
83 + * pcf_driver
84 + * properties
85 + * parameter_tags
86 + * lcd_rendering
87 + *
88 + */
89 +
90 +
91 + /**************************************************************************
92 + *
93 + * @chapter:
94 + * cache_subsystem
95 + *
96 + * @title:
97 + * Cache Sub-System
98 + *
99 + * @sections:
100 + * cache_subsystem
101 + *
102 + */
103 +
104 +
105 + /**************************************************************************
106 + *
107 + * @chapter:
108 + * support_api
109 + *
110 + * @title:
111 + * Support API
112 + *
113 + * @sections:
114 + * computations
115 + * list_processing
116 + * outline_processing
117 + * quick_advance
118 + * bitmap_handling
119 + * raster
120 + * glyph_stroker
121 + * system_interface
122 + * module_management
123 + * gzip
124 + * lzw
125 + * bzip2
126 + *
127 + */
128 +
129 +
130 + /**************************************************************************
131 + *
132 + * @chapter:
133 + * error_codes
134 + *
135 + * @title:
136 + * Error Codes
137 + *
138 + * @sections:
139 + * error_enumerations
140 + * error_code_values
141 + *
142 + */
143 +
144 +
145 +/* END */
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.