Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
399c800b
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,发现更多精彩内容 >>
提交
399c800b
编写于
3月 14, 2018
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[color/COLR] Clean up
上级
9e337341
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
15 deletion
+17
-15
src/hb-ot-color-colr-table.hh
src/hb-ot-color-colr-table.hh
+17
-15
未找到文件。
src/hb-ot-color-colr-table.hh
浏览文件 @
399c800b
...
@@ -48,8 +48,8 @@ struct LayerRecord
...
@@ -48,8 +48,8 @@ struct LayerRecord
}
}
protected:
protected:
GlyphID
gID
;
/* Glyph ID of layer glyph */
GlyphID
glyphid
;
/* Glyph ID of layer glyph */
HBUINT16
paletteInde
x
;
/* Index value to use with a selected color palette */
HBUINT16
colorId
x
;
/* Index value to use with a selected color palette */
public:
public:
DEFINE_SIZE_STATIC
(
4
);
DEFINE_SIZE_STATIC
(
4
);
};
};
...
@@ -65,9 +65,9 @@ struct BaseGlyphRecord
...
@@ -65,9 +65,9 @@ struct BaseGlyphRecord
}
}
protected:
protected:
GlyphID
gID
;
/* Glyph ID of reference glyph */
GlyphID
glyphid
;
/* Glyph ID of reference glyph */
HBUINT16
firstLayerInde
x
;
/* Index to the layer record */
HBUINT16
firstLayerId
x
;
/* Index to the layer record */
HBUINT16
numLayers
;
/* Number of color layers associated with this glyph */
HBUINT16
numLayers
;
/* Number of color layers associated with this glyph */
public:
public:
DEFINE_SIZE_STATIC
(
6
);
DEFINE_SIZE_STATIC
(
6
);
};
};
...
@@ -86,29 +86,30 @@ struct COLR
...
@@ -86,29 +86,30 @@ struct COLR
const
BaseGlyphRecord
*
base_glyph_records
=
&
baseGlyphRecordsZ
(
this
);
const
BaseGlyphRecord
*
base_glyph_records
=
&
baseGlyphRecordsZ
(
this
);
for
(
unsigned
int
i
=
0
;
i
<
numBaseGlyphRecords
;
++
i
)
for
(
unsigned
int
i
=
0
;
i
<
numBaseGlyphRecords
;
++
i
)
if
(
base_glyph_records
[
i
].
firstLayerI
nde
x
+
if
(
base_glyph_records
[
i
].
firstLayerI
d
x
+
base_glyph_records
[
i
].
numLayers
>
numLayerRecords
)
base_glyph_records
[
i
].
numLayers
>
numLayerRecords
)
return_trace
(
false
);
return_trace
(
false
);
return_trace
(
true
);
return_trace
(
true
);
}
}
inline
bool
get_base_glyph_record
(
inline
bool
get_base_glyph_record
(
hb_codepoint_t
glyph_id
,
hb_codepoint_t
glyph_id
,
unsigned
int
&
first_layer
,
unsigned
int
&
num_layers
)
const
unsigned
int
&
first_layer
,
unsigned
int
&
num_layers
)
const
{
{
const
BaseGlyphRecord
*
base_glyph_records
=
&
baseGlyphRecordsZ
(
this
);
const
BaseGlyphRecord
*
base_glyph_records
=
&
baseGlyphRecordsZ
(
this
);
unsigned
int
min
=
0
,
max
=
numBaseGlyphRecords
-
1
;
unsigned
int
min
=
0
,
max
=
numBaseGlyphRecords
-
1
;
while
(
min
<=
max
)
while
(
min
<=
max
)
{
{
unsigned
int
mid
=
(
min
+
max
)
/
2
;
unsigned
int
mid
=
(
min
+
max
)
/
2
;
hb_codepoint_t
g
ID
=
base_glyph_records
[
mid
].
gID
;
hb_codepoint_t
g
lyphid
=
base_glyph_records
[
mid
].
glyphid
;
if
(
g
ID
>
glyph_id
)
if
(
g
lyphid
>
glyph_id
)
max
=
mid
-
1
;
max
=
mid
-
1
;
else
if
(
g
ID
<
glyph_id
)
else
if
(
g
lyphid
<
glyph_id
)
min
=
mid
+
1
;
min
=
mid
+
1
;
else
else
{
{
first_layer
=
base_glyph_records
[
mid
].
firstLayerI
nde
x
;
first_layer
=
base_glyph_records
[
mid
].
firstLayerI
d
x
;
num_layers
=
base_glyph_records
[
mid
].
numLayers
;
num_layers
=
base_glyph_records
[
mid
].
numLayers
;
return
true
;
return
true
;
}
}
...
@@ -117,11 +118,12 @@ struct COLR
...
@@ -117,11 +118,12 @@ struct COLR
}
}
inline
void
get_layer_record
(
int
layer
,
inline
void
get_layer_record
(
int
layer
,
hb_codepoint_t
&
glyph_id
,
unsigned
int
&
palette_index
)
const
hb_codepoint_t
&
glyph_id
,
unsigned
int
&
palette_index
)
const
{
{
const
LayerRecord
*
records
=
&
layerRecordsOffsetZ
(
this
);
const
LayerRecord
*
records
=
&
layerRecordsOffsetZ
(
this
);
glyph_id
=
records
[
layer
].
g
ID
;
glyph_id
=
records
[
layer
].
g
lyphid
;
palette_index
=
records
[
layer
].
paletteInde
x
;
palette_index
=
records
[
layer
].
colorId
x
;
}
}
protected:
protected:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录