- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
libRocket
HTML/CSS UI 生成器依赖于 FreeType2
库。但是,FreeType2
包含许多可选模块,可以在编译时将其禁用。
最小化分布式二进制文件的大小对于移动平台尤为重要。
libRocket
依赖于哪些 FreeType2
模块?可以安全地禁用哪些模块?
最佳答案
在 librocket 的源代码目录中“GREPing”任何以 FT_
开头的东西都会产生:
Core/FontDatabase.cpp |33 col 10| #include FT_FREETYPE_H
Core/FontDatabase.cpp |43 col 8 | static FT_Library ft_library = NULL;
Core/FontDatabase.cpp |63 col 3 | FT_Error result = FT_Init_FreeType(&ft_library);
Core/FontDatabase.cpp |63 col 21| FT_Error result = FT_Init_FreeType(&ft_library);
Core/FontDatabase.cpp |84 col 4 | FT_Done_FreeType(ft_library);
Core/FontDatabase.cpp |95 col 2 | FT_Face ft_face = (FT_Face) instance->LoadFace(file_name);
Core/FontDatabase.cpp |95 col 21| FT_Face ft_face = (FT_Face) instance->LoadFace(file_name);
Core/FontDatabase.cpp |102 col 45| Font::Style style = ft_face->style_flags & FT_STYLE_FLAG_ITALIC ? Font::STYLE_ITALIC : Font::STYLE_NORMAL;
Core/FontDatabase.cpp |103 col 47| Font::Weight weight = ft_face->style_flags & FT_STYLE_FLAG_BOLD ? Font::WEIGHT_BOLD : Font::WEIGHT_NORMAL;
Core/FontDatabase.cpp |120 col 2 | FT_Face ft_face = (FT_Face) instance->LoadFace(file_name);
Core/FontDatabase.cpp |120 col 21| FT_Face ft_face = (FT_Face) instance->LoadFace(file_name);
Core/FontDatabase.cpp |142 col 2 | FT_Face ft_face = (FT_Face) instance->LoadFace(data, data_length, "memory", false);
Core/FontDatabase.cpp |142 col 21| FT_Face ft_face = (FT_Face) instance->LoadFace(data, data_length, "memory", false);
Core/FontDatabase.cpp |149 col 45| Font::Style style = ft_face->style_flags & FT_STYLE_FLAG_ITALIC ? Font::STYLE_ITALIC : Font::STYLE_NORMAL;
Core/FontDatabase.cpp |150 col 47| Font::Weight weight = ft_face->style_flags & FT_STYLE_FLAG_BOLD ? Font::WEIGHT_BOLD : Font::WEIGHT_NORMAL;
Core/FontDatabase.cpp |167 col 2 | FT_Face ft_face = (FT_Face) instance->LoadFace(data, data_length, "memory", false);
Core/FontDatabase.cpp |167 col 21| FT_Face ft_face = (FT_Face) instance->LoadFace(data, data_length, "memory", false);
Core/FontDatabase.cpp |271 col 31| return font_family->AddFace((FT_Face) face, style, weight, release_stream);
Core/FontDatabase.cpp |287 col 2 | FT_Byte* buffer = new FT_Byte[length];
Core/FontDatabase.cpp |287 col 24| FT_Byte* buffer = new FT_Byte[length];
Core/FontDatabase.cpp |297 col 2 | FT_Face face = NULL;
Core/FontDatabase.cpp |298 col 14| int error = FT_New_Memory_Face(ft_library, (const FT_Byte*) data, data_length, 0, &face);
Core/FontDatabase.cpp |298 col 52| int error = FT_New_Memory_Face(ft_library, (const FT_Byte*) data, data_length, 0, &face);
Core/FontDatabase.cpp |311 col 3 | FT_Select_Charmap(face, FT_ENCODING_APPLE_ROMAN);
Core/FontDatabase.cpp |311 col 27| FT_Select_Charmap(face, FT_ENCODING_APPLE_ROMAN);
Core/FontDatabase.cpp |315 col 4 | FT_Done_Face(face);
Core/FontFace.cpp |36 col 20| FontFace::FontFace(FT_Face _face, Font::Style _style, Font::Weight _weight, bool _release_stream)
Core/FontFace.cpp |149 col 3 | FT_Byte* face_memory = face->stream->base;
Core/FontFace.cpp |150 col 3 | FT_Done_Face(face);
Core/FontFaceHandle.cpp |71 col 33| bool FontFaceHandle::Initialise(FT_Face ft_face, const String& _charset, int _size)
Core/FontFaceHandle.cpp |83 col 2 | FT_Error error = FT_Set_Char_Size(ft_face, 0, size << 6, 0, 0);
Core/FontFaceHandle.cpp |83 col 19| FT_Error error = FT_Set_Char_Size(ft_face, 0, size << 6, 0, 0);
Core/FontFaceHandle.cpp |356 col 38| void FontFaceHandle::GenerateMetrics(FT_Face ft_face)
Core/FontFaceHandle.cpp |361 col 23| underline_position = FT_MulFix(ft_face->underline_position, ft_face->size->metrics.y_scale) / float(1 << 6);
Core/FontFaceHandle.cpp |362 col 24| underline_thickness = FT_MulFix(ft_face->underline_thickness, ft_face->size->metrics.y_scale) / float(1 << 6);
Core/FontFaceHandle.cpp |382 col 14| int index = FT_Get_Char_Index(ft_face, x);
Core/FontFaceHandle.cpp |383 col 6 | if (FT_Load_Glyph(ft_face, index, 0) == 0)
Core/FontFaceHandle.cpp |389 col 36| void FontFaceHandle::BuildGlyphMap(FT_Face ft_face, const UnicodeRange& unicode_range)
Core/FontFaceHandle.cpp |394 col 15| int index = FT_Get_Char_Index(ft_face, character_code);
Core/FontFaceHandle.cpp |397 col 4 | FT_Error error = FT_Load_Glyph(ft_face, index, 0);
Core/FontFaceHandle.cpp |397 col 21| FT_Error error = FT_Load_Glyph(ft_face, index, 0);
Core/FontFaceHandle.cpp |405 col 12| error = FT_Render_Glyph(ft_face->glyph, FT_RENDER_MODE_NORMAL);
Core/FontFaceHandle.cpp |405 col 44| error = FT_Render_Glyph(ft_face->glyph, FT_RENDER_MODE_NORMAL);
Core/FontFaceHandle.cpp |421 col 51| void FontFaceHandle::BuildGlyph(FontGlyph& glyph, FT_GlyphSlot ft_glyph)
Core/FontFaceHandle.cpp |442 col 38| if (ft_glyph->bitmap.pixel_mode != FT_PIXEL_MODE_MONO &&
Core/FontFaceHandle.cpp |443 col 35| ft_glyph->bitmap.pixel_mode != FT_PIXEL_MODE_GRAY)
Core/FontFaceHandle.cpp |460 col 10| case FT_PIXEL_MODE_MONO:
Core/FontFaceHandle.cpp |488 col 10| case FT_PIXEL_MODE_GRAY:
Core/FontFaceHandle.cpp |505 col 35| void FontFaceHandle::BuildKerning(FT_Face ft_face)
Core/FontFaceHandle.cpp |508 col 6 | if (FT_HAS_KERNING(ft_face))
Core/FontFaceHandle.cpp |522 col 7 | FT_Vector ft_kerning;
Core/FontFaceHandle.cpp |523 col 7 | FT_Get_Kerning(ft_face, FT_Get_Char_Index(ft_face, lhs), FT_Get_Char_Index(ft_face, rhs), FT_KERNING_DEFAULT, &ft_kerning);
Core/FontFaceHandle.cpp |523 col 31| FT_Get_Kerning(ft_face, FT_Get_Char_Index(ft_face, lhs), FT_Get_Char_Index(ft_face, rhs), FT_KERNING_DEFAULT, &ft_kerning);
Core/FontFaceHandle.cpp |523 col 64| FT_Get_Kerning(ft_face, FT_Get_Char_Index(ft_face, lhs), FT_Get_Char_Index(ft_face, rhs), FT_KERNING_DEFAULT, &ft_kerning);
Core/FontFaceHandle.cpp |523 col 97| FT_Get_Kerning(ft_face, FT_Get_Char_Index(ft_face, lhs), FT_Get_Char_Index(ft_face, rhs), FT_KERNING_DEFAULT, &ft_kerning);
Core/FontFamily.cpp |46 col 26| bool FontFamily::AddFace(FT_Face ft_face, Font::Style style, Font::Weight weight, bool release_stream)
Core/FontFace.h |33 col 10| #include FT_FREETYPE_H
Core/FontFace.h |48 col 11| FontFace(FT_Face face, Font::Style style, Font::Weight weight, bool release_stream);
Core/FontFace.h |71 col 2 | FT_Face face;
Core/FontFaceHandle.h |40 col 10| #include FT_FREETYPE_H
Core/FontFaceHandle.h |63 col 18| bool Initialise(FT_Face ft_face, const String& charset, int size);
Core/FontFaceHandle.h |138 col 23| void GenerateMetrics(FT_Face ft_face);
Core/FontFaceHandle.h |140 col 21| void BuildGlyphMap(FT_Face ft_face, const UnicodeRange& unicode_range);
Core/FontFaceHandle.h |141 col 36| void BuildGlyph(FontGlyph& glyph, FT_GlyphSlot ft_glyph);
Core/FontFaceHandle.h |143 col 20| void BuildKerning(FT_Face ft_face);
Core/FontFamily.h |33 col 10| #include FT_FREETYPE_H
Core/FontFamily.h |57 col 15| bool AddFace(FT_Face ft_face, Font::Style style, Font::Weight weight, bool release_stream);
快速浏览一下我已经封装了这些函数的列表:
FT_Init_FreeType
FT_Done_FreeType
FT_New_Memory_Face
FT_Done_Face
FT_Select_Charmap
FT_Set_Char_Size
FT_MulFix
FT_Get_Char_Index
FT_Load_Glyph
FT_Render_Glyph
FT_Get_Kerning
我对 Freetype 的了解不够,无法告诉您这些函数属于哪些模块,但我认为您可以从 documentation 中找出答案。 .
关于c - libRocket 需要哪些 FreeType2 库模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014016/
我最近在我的机器上安装了 cx_Oracle 模块,以便连接到远程 Oracle 数据库服务器。 (我身边没有 Oracle 客户端)。 Python:版本 2.7 x86 Oracle:版本 11.
我想从 python timeit 模块检查打印以下内容需要多少时间,如何打印, import timeit x = [x for x in range(10000)] timeit.timeit("
我盯着 vs 代码编辑器上的 java 脚本编码,当我尝试将外部模块包含到我的项目中时,代码编辑器提出了这样的建议 -->(文件是 CommonJS 模块;它可能会转换为 ES6 模块。 )..有什么
我有一个 Node 应用程序,我想在标准 ES6 模块格式中使用(即 "type": "module" in the package.json ,并始终使用 import 和 export)而不转译为
我正在学习将 BlueprintJS 合并到我的 React 网络应用程序中,并且在加载某些 CSS 模块时遇到了很多麻烦。 我已经安装了 npm install @blueprintjs/core和
我需要重构一堆具有这样的调用的文件 define(['module1','module2','module3' etc...], function(a, b, c etc...) { //bun
我是 Angular 的新手,正在学习各种教程(Codecademy、thinkster.io 等),并且已经看到了声明应用程序容器的两种方法。首先: var app = angular.module
我正在尝试将 OUnit 与 OCaml 一起使用。 单元代码源码(unit.ml)如下: open OUnit let empty_list = [] let list_a = [1;2;3] le
我在 Angular 1.x 应用程序中使用 webpack 和 ES6 模块。在我设置的 webpack.config 中: resolve: { alias: { 'angular':
internal/modules/cjs/loader.js:750 return process.dlopen(module, path.toNamespacedPath(filename));
在本教程中,您将借助示例了解 JavaScript 中的模块。 随着我们的程序变得越来越大,它可能包含许多行代码。您可以使用模块根据功能将代码分隔在单独的文件中,而不是将所有内容都放在一个文件
我想知道是否可以将此代码更改为仅调用 MyModule.RED 而不是 MyModule.COLORS.RED。我尝试将 mod 设置为变量来存储颜色,但似乎不起作用。难道是我方法不对? (funct
我有以下代码。它是一个 JavaScript 模块。 (function() { // Object var Cahootsy; Cahootsy = { hello:
关闭。这个问题是 opinion-based 。它目前不接受答案。 想要改进这个问题?更新问题,以便 editing this post 可以用事实和引文来回答它。 关闭 2 年前。 Improve
从用户的角度来看,一个模块能够通过 require 加载并返回一个 table,模块导出的接口都被定义在此 table 中(此 table 被作为一个 namespace)。所有的标准库都是模块。标
Ruby的模块非常类似类,除了: 模块不可以有实体 模块不可以有子类 模块由module...end定义. 实际上...模块的'模块类'是'类的类'这个类的父类.搞懂了吗?不懂?让我们继续看
我有一个脚本,它从 CLI 获取 3 个输入变量并将其分别插入到 3 个变量: GetOptions("old_path=s" => \$old_path, "var=s" =
我有一个简单的 python 包,其目录结构如下: wibble | |-----foo | |----ping.py | |-----bar | |----pong.py 简单的
这种语法会非常有用——这不起作用有什么原因吗?谢谢! module Foo = { let bar: string = "bar" }; let bar = Foo.bar; /* works *
我想运行一个命令: - name: install pip shell: "python {"changed": true, "cmd": "python <(curl https://boot
我是一名优秀的程序员,十分优秀!