Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
29444d7e
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
大约 1 年 前同步成功
通知
0
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
29444d7e
编写于
7月 20, 2019
作者:
E
Ebrahim Byagowi
提交者:
Behdad Esfahbod
7月 20, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Don't cache ascender/descender metrics
上级
5e28c265
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
8 addition
and
36 deletion
+8
-36
src/hb-ot-font.cc
src/hb-ot-font.cc
+8
-16
src/hb-ot-hmtx-table.hh
src/hb-ot-hmtx-table.hh
+0
-20
未找到文件。
src/hb-ot-font.cc
浏览文件 @
29444d7e
...
@@ -230,32 +230,24 @@ hb_ot_get_glyph_from_name (hb_font_t *font HB_UNUSED,
...
@@ -230,32 +230,24 @@ hb_ot_get_glyph_from_name (hb_font_t *font HB_UNUSED,
static
hb_bool_t
static
hb_bool_t
hb_ot_get_font_h_extents
(
hb_font_t
*
font
,
hb_ot_get_font_h_extents
(
hb_font_t
*
font
,
void
*
font_data
,
void
*
font_data
HB_UNUSED
,
hb_font_extents_t
*
metrics
,
hb_font_extents_t
*
metrics
,
void
*
user_data
HB_UNUSED
)
void
*
user_data
HB_UNUSED
)
{
{
const
hb_ot_face_t
*
ot_face
=
(
const
hb_ot_face_t
*
)
font_data
;
return
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_HORIZONTAL_ASCENDER
,
&
metrics
->
ascender
)
&&
const
OT
::
hmtx_accelerator_t
&
hmtx
=
*
ot_face
->
hmtx
;
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_HORIZONTAL_DESCENDER
,
&
metrics
->
descender
)
&&
metrics
->
ascender
=
font
->
em_scale_y
(
hmtx
.
ascender
);
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_HORIZONTAL_LINE_GAP
,
&
metrics
->
line_gap
);
metrics
->
descender
=
font
->
em_scale_y
(
hmtx
.
descender
);
metrics
->
line_gap
=
font
->
em_scale_y
(
hmtx
.
line_gap
);
// TODO Hook up variations.
return
hmtx
.
has_font_extents
;
}
}
static
hb_bool_t
static
hb_bool_t
hb_ot_get_font_v_extents
(
hb_font_t
*
font
,
hb_ot_get_font_v_extents
(
hb_font_t
*
font
,
void
*
font_data
,
void
*
font_data
HB_UNUSED
,
hb_font_extents_t
*
metrics
,
hb_font_extents_t
*
metrics
,
void
*
user_data
HB_UNUSED
)
void
*
user_data
HB_UNUSED
)
{
{
const
hb_ot_face_t
*
ot_face
=
(
const
hb_ot_face_t
*
)
font_data
;
return
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_VERTICAL_ASCENDER
,
&
metrics
->
ascender
)
&&
const
OT
::
vmtx_accelerator_t
&
vmtx
=
*
ot_face
->
vmtx
;
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_VERTICAL_DESCENDER
,
&
metrics
->
descender
)
&&
metrics
->
ascender
=
font
->
em_scale_x
(
vmtx
.
ascender
);
hb_ot_metrics_get_position
(
font
,
HB_OT_METRICS_VERTICAL_LINE_GAP
,
&
metrics
->
line_gap
);
metrics
->
descender
=
font
->
em_scale_x
(
vmtx
.
descender
);
metrics
->
line_gap
=
font
->
em_scale_x
(
vmtx
.
line_gap
);
// TODO Hook up variations.
return
vmtx
.
has_font_extents
;
}
}
#if HB_USE_ATEXIT
#if HB_USE_ATEXIT
...
...
src/hb-ot-hmtx-table.hh
浏览文件 @
29444d7e
...
@@ -161,14 +161,6 @@ struct hmtxvmtx
...
@@ -161,14 +161,6 @@ struct hmtxvmtx
unsigned
int
default_advance_
=
0
)
unsigned
int
default_advance_
=
0
)
{
{
default_advance
=
default_advance_
?
default_advance_
:
hb_face_get_upem
(
face
);
default_advance
=
default_advance_
?
default_advance_
:
hb_face_get_upem
(
face
);
ascender
=
0
;
descender
=
0
;
line_gap
=
0
;
hb_ot_metrics_get_position_internal
(
face
,
T
::
ascenderTag
,
&
ascender
);
hb_ot_metrics_get_position_internal
(
face
,
T
::
descenderTag
,
&
descender
);
hb_ot_metrics_get_position_internal
(
face
,
T
::
lineGapTag
,
&
line_gap
);
ascender
=
fabs
(
ascender
);
descender
=
-
fabs
(
descender
);
has_font_extents
=
ascender
!=
0
||
descender
!=
0
;
num_advances
=
T
::
is_horizontal
?
face
->
table
.
hhea
->
numberOfLongMetrics
:
face
->
table
.
vhea
->
numberOfLongMetrics
;
num_advances
=
T
::
is_horizontal
?
face
->
table
.
hhea
->
numberOfLongMetrics
:
face
->
table
.
vhea
->
numberOfLongMetrics
;
...
@@ -264,12 +256,6 @@ struct hmtxvmtx
...
@@ -264,12 +256,6 @@ struct hmtxvmtx
return
get_advance
(
old_gid
);
return
get_advance
(
old_gid
);
}
}
public:
bool
has_font_extents
;
float
ascender
;
float
descender
;
float
line_gap
;
protected:
protected:
unsigned
int
num_metrics
;
unsigned
int
num_metrics
;
unsigned
int
num_advances
;
unsigned
int
num_advances
;
...
@@ -309,17 +295,11 @@ struct hmtxvmtx
...
@@ -309,17 +295,11 @@ struct hmtxvmtx
struct
hmtx
:
hmtxvmtx
<
hmtx
,
hhea
>
{
struct
hmtx
:
hmtxvmtx
<
hmtx
,
hhea
>
{
static
constexpr
hb_tag_t
tableTag
=
HB_OT_TAG_hmtx
;
static
constexpr
hb_tag_t
tableTag
=
HB_OT_TAG_hmtx
;
static
constexpr
hb_tag_t
variationsTag
=
HB_OT_TAG_HVAR
;
static
constexpr
hb_tag_t
variationsTag
=
HB_OT_TAG_HVAR
;
static
constexpr
hb_ot_metrics_t
ascenderTag
=
HB_OT_METRICS_HORIZONTAL_ASCENDER
;
static
constexpr
hb_ot_metrics_t
descenderTag
=
HB_OT_METRICS_HORIZONTAL_DESCENDER
;
static
constexpr
hb_ot_metrics_t
lineGapTag
=
HB_OT_METRICS_HORIZONTAL_LINE_GAP
;
static
constexpr
bool
is_horizontal
=
true
;
static
constexpr
bool
is_horizontal
=
true
;
};
};
struct
vmtx
:
hmtxvmtx
<
vmtx
,
vhea
>
{
struct
vmtx
:
hmtxvmtx
<
vmtx
,
vhea
>
{
static
constexpr
hb_tag_t
tableTag
=
HB_OT_TAG_vmtx
;
static
constexpr
hb_tag_t
tableTag
=
HB_OT_TAG_vmtx
;
static
constexpr
hb_tag_t
variationsTag
=
HB_OT_TAG_VVAR
;
static
constexpr
hb_tag_t
variationsTag
=
HB_OT_TAG_VVAR
;
static
constexpr
hb_ot_metrics_t
ascenderTag
=
HB_OT_METRICS_VERTICAL_ASCENDER
;
static
constexpr
hb_ot_metrics_t
descenderTag
=
HB_OT_METRICS_VERTICAL_DESCENDER
;
static
constexpr
hb_ot_metrics_t
lineGapTag
=
HB_OT_METRICS_VERTICAL_LINE_GAP
;
static
constexpr
bool
is_horizontal
=
false
;
static
constexpr
bool
is_horizontal
=
false
;
};
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录