Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
a23d90d7
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a23d90d7
编写于
2月 28, 2012
作者:
B
bae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7143617: Improve fontmanager layout lookup operations
Reviewed-by: igor, prr, mschoene
上级
063e6a16
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
15 addition
and
1 deletion
+15
-1
src/share/native/sun/font/layout/LookupProcessor.cpp
src/share/native/sun/font/layout/LookupProcessor.cpp
+14
-1
src/share/native/sun/font/layout/LookupProcessor.h
src/share/native/sun/font/layout/LookupProcessor.h
+1
-0
未找到文件。
src/share/native/sun/font/layout/LookupProcessor.cpp
浏览文件 @
a23d90d7
...
...
@@ -95,6 +95,10 @@ le_int32 LookupProcessor::process(LEGlyphStorage &glyphStorage, GlyphPositionAdj
if
(
selectMask
!=
0
)
{
const
LookupTable
*
lookupTable
=
lookupListTable
->
getLookupTable
(
lookup
);
if
(
!
lookupTable
)
continue
;
le_uint16
lookupFlags
=
SWAPW
(
lookupTable
->
lookupFlags
);
glyphIterator
.
reset
(
lookupFlags
,
selectMask
);
...
...
@@ -136,6 +140,9 @@ le_int32 LookupProcessor::selectLookups(const FeatureTable *featureTable, Featur
for
(
le_uint16
lookup
=
0
;
lookup
<
lookupCount
;
lookup
+=
1
)
{
le_uint16
lookupListIndex
=
SWAPW
(
featureTable
->
lookupListIndexArray
[
lookup
]);
if
(
lookupListIndex
>=
lookupSelectCount
)
continue
;
lookupSelectArray
[
lookupListIndex
]
|=
featureMask
;
lookupOrderArray
[
store
++
]
=
lookupListIndex
;
}
...
...
@@ -147,7 +154,7 @@ LookupProcessor::LookupProcessor(const char *baseAddress,
Offset
scriptListOffset
,
Offset
featureListOffset
,
Offset
lookupListOffset
,
LETag
scriptTag
,
LETag
languageTag
,
const
FeatureMap
*
featureMap
,
le_int32
featureMapCount
,
le_bool
orderFeatures
,
LEErrorCode
&
success
)
:
lookupListTable
(
NULL
),
featureListTable
(
NULL
),
lookupSelectArray
(
NULL
),
:
lookupListTable
(
NULL
),
featureListTable
(
NULL
),
lookupSelectArray
(
NULL
),
lookupSelectCount
(
0
),
lookupOrderArray
(
NULL
),
lookupOrderCount
(
0
)
{
const
ScriptListTable
*
scriptListTable
=
NULL
;
...
...
@@ -195,6 +202,8 @@ LookupProcessor::LookupProcessor(const char *baseAddress,
lookupSelectArray
[
i
]
=
0
;
}
lookupSelectCount
=
lookupListCount
;
le_int32
count
,
order
=
0
;
le_int32
featureReferences
=
0
;
const
FeatureTable
*
featureTable
=
NULL
;
...
...
@@ -211,6 +220,10 @@ LookupProcessor::LookupProcessor(const char *baseAddress,
le_uint16
featureIndex
=
SWAPW
(
langSysTable
->
featureIndexArray
[
feature
]);
featureTable
=
featureListTable
->
getFeatureTable
(
featureIndex
,
&
featureTag
);
if
(
!
featureTable
)
continue
;
featureReferences
+=
SWAPW
(
featureTable
->
lookupCount
);
}
...
...
src/share/native/sun/font/layout/LookupProcessor.h
浏览文件 @
a23d90d7
...
...
@@ -90,6 +90,7 @@ protected:
const
FeatureListTable
*
featureListTable
;
FeatureMask
*
lookupSelectArray
;
le_uint32
lookupSelectCount
;
le_uint16
*
lookupOrderArray
;
le_uint32
lookupOrderCount
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录