Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
f1a2dc15
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看板
提交
f1a2dc15
编写于
8月 20, 2015
作者:
A
aivanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8132850: java.lang.ArrayIndexOutOfBoundsException during text rendering with many fonts installed
Reviewed-by: jgodinez, serb
上级
61ad4b6e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
13 addition
and
3 deletion
+13
-3
src/share/classes/sun/font/CompositeFont.java
src/share/classes/sun/font/CompositeFont.java
+7
-0
src/share/classes/sun/font/FileFontStrike.java
src/share/classes/sun/font/FileFontStrike.java
+1
-2
src/solaris/native/sun/awt/fontpath.c
src/solaris/native/sun/awt/fontpath.c
+5
-1
未找到文件。
src/share/classes/sun/font/CompositeFont.java
浏览文件 @
f1a2dc15
...
...
@@ -71,6 +71,13 @@ public final class CompositeFont extends Font2D {
}
else
{
numSlots
=
componentNames
.
length
;
}
/* We will limit the number of slots to 254.
* We store the slot for a glyph id in a byte and we may use one slot
* for an EUDC font, and we may also create a composite
* using this composite as a backup for a physical font.
* So we want to leave space for the two additional slots.
*/
numSlots
=
(
numSlots
<=
254
)
?
numSlots
:
254
;
/* Only the first "numMetricsSlots" slots are used for font metrics.
* the rest are considered "fallback" slots".
...
...
src/share/classes/sun/font/FileFontStrike.java
浏览文件 @
f1a2dc15
...
...
@@ -420,14 +420,13 @@ public class FileFontStrike extends PhysicalStrike {
/* The following method is called from CompositeStrike as a special case.
*/
private
static
final
int
SLOTZEROMAX
=
0xffffff
;
int
getSlot0GlyphImagePtrs
(
int
[]
glyphCodes
,
long
[]
images
,
int
len
)
{
int
convertedCnt
=
0
;
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
int
glyphCode
=
glyphCodes
[
i
];
if
(
glyphCode
>
=
SLOTZEROMAX
)
{
if
(
glyphCode
>
>>
24
!=
0
)
{
return
convertedCnt
;
}
else
{
convertedCnt
++;
...
...
src/solaris/native/sun/awt/fontpath.c
浏览文件 @
f1a2dc15
...
...
@@ -1217,10 +1217,11 @@ Java_sun_font_FontConfigManager_getFontConfig
minGlyphs
=
val
;
}
}
FcCharSet
*
unionCharset
=
NULL
;
for
(
j
=
0
;
j
<
nfonts
;
j
++
)
{
FcPattern
*
fontPattern
=
fontset
->
fonts
[
j
];
FcChar8
*
fontformat
;
FcCharSet
*
unionCharset
=
NULL
,
*
charset
;
FcCharSet
*
charset
=
NULL
;
fontformat
=
NULL
;
(
*
FcPatternGetString
)(
fontPattern
,
FC_FONTFORMAT
,
0
,
&
fontformat
);
...
...
@@ -1278,6 +1279,9 @@ Java_sun_font_FontConfigManager_getFontConfig
if
(
!
includeFallbacks
)
{
break
;
}
if
(
fontCount
==
254
)
{
break
;
// CompositeFont will only use up to 254 slots from here.
}
}
/* Once we get here 'fontCount' is the number of returned fonts
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录