Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
itdan3344
stb
提交
a7ee2074
S
stb
项目概览
itdan3344
/
stb
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
stb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a7ee2074
编写于
4月 12, 2015
作者:
S
Sean Barrett
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix missing free in the new rectangle packing
remove unneeded (but harmless) statements
上级
ab6aaa85
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
12 deletion
+15
-12
stb_truetype.h
stb_truetype.h
+15
-12
未找到文件。
stb_truetype.h
浏览文件 @
a7ee2074
...
...
@@ -37,6 +37,7 @@
// Martins Mozeiko
// Cap Petschulat
// Omar Cornut
// github:aloucks
//
// Misc other:
// Ryan Gordon
...
...
@@ -1054,7 +1055,6 @@ STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codep
stbtt_uint16
searchRange
=
ttUSHORT
(
data
+
index_map
+
8
)
>>
1
;
stbtt_uint16
entrySelector
=
ttUSHORT
(
data
+
index_map
+
10
);
stbtt_uint16
rangeShift
=
ttUSHORT
(
data
+
index_map
+
12
)
>>
1
;
stbtt_uint16
item
,
offset
,
start
,
end
;
// do a binary search of the segments
stbtt_uint32
endCount
=
index_map
+
14
;
...
...
@@ -1071,8 +1071,8 @@ STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codep
// now decrement to bias correctly to find smallest
search
-=
2
;
while
(
entrySelector
)
{
stbtt_uint16
end
;
searchRange
>>=
1
;
start
=
ttUSHORT
(
data
+
search
+
searchRange
*
2
+
segcount
*
2
+
2
);
end
=
ttUSHORT
(
data
+
search
+
searchRange
*
2
);
if
(
unicode_codepoint
>
end
)
search
+=
searchRange
*
2
;
...
...
@@ -1080,19 +1080,21 @@ STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codep
}
search
+=
2
;
item
=
(
stbtt_uint16
)
((
search
-
endCount
)
>>
1
);
{
stbtt_uint16
offset
,
start
;
stbtt_uint16
item
=
(
stbtt_uint16
)
((
search
-
endCount
)
>>
1
);
STBTT_assert
(
unicode_codepoint
<=
ttUSHORT
(
data
+
endCount
+
2
*
item
));
start
=
ttUSHORT
(
data
+
index_map
+
14
+
segcount
*
2
+
2
+
2
*
item
);
end
=
ttUSHORT
(
data
+
index_map
+
14
+
2
+
2
*
item
);
if
(
unicode_codepoint
<
start
)
return
0
;
STBTT_assert
(
unicode_codepoint
<=
ttUSHORT
(
data
+
endCount
+
2
*
item
));
start
=
ttUSHORT
(
data
+
index_map
+
14
+
segcount
*
2
+
2
+
2
*
item
);
if
(
unicode_codepoint
<
start
)
return
0
;
offset
=
ttUSHORT
(
data
+
index_map
+
14
+
segcount
*
6
+
2
+
2
*
item
);
if
(
offset
==
0
)
return
(
stbtt_uint16
)
(
unicode_codepoint
+
ttSHORT
(
data
+
index_map
+
14
+
segcount
*
4
+
2
+
2
*
item
));
offset
=
ttUSHORT
(
data
+
index_map
+
14
+
segcount
*
6
+
2
+
2
*
item
);
if
(
offset
==
0
)
return
(
stbtt_uint16
)
(
unicode_codepoint
+
ttSHORT
(
data
+
index_map
+
14
+
segcount
*
4
+
2
+
2
*
item
));
return
ttUSHORT
(
data
+
offset
+
(
unicode_codepoint
-
start
)
*
2
+
index_map
+
14
+
segcount
*
6
+
2
+
2
*
item
);
return
ttUSHORT
(
data
+
offset
+
(
unicode_codepoint
-
start
)
*
2
+
index_map
+
14
+
segcount
*
6
+
2
+
2
*
item
);
}
}
else
if
(
format
==
12
||
format
==
13
)
{
stbtt_uint32
ngroups
=
ttULONG
(
data
+
index_map
+
12
);
stbtt_int32
low
,
high
;
...
...
@@ -2421,6 +2423,7 @@ STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, unsigned char *fontd
}
}
STBTT_free
(
rects
,
spc
->
user_allocator_context
);
return
return_value
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录