Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
b4233ec9
Commit
b4233ec9
authored
Dec 11, 2008
by
Jason Rumney
Browse files
(uniscribe_encode_char): Increase glyph buffer size for surrogates.
parent
0355f110
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
4 deletions
+12
-4
src/ChangeLog
src/ChangeLog
+5
-0
src/w32uniscribe.c
src/w32uniscribe.c
+7
-4
No files found.
src/ChangeLog
View file @
b4233ec9
2008-12-11 Jason Rumney <jasonr@gnu.org>
* w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
size for surrogates.
2008-12-11 Juanma Barranquero <lekktu@gmail.com>
* w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
...
...
src/w32uniscribe.c
View file @
b4233ec9
...
...
@@ -490,13 +490,16 @@ uniscribe_encode_char (font, c)
if
(
SUCCEEDED
(
ScriptItemize
(
ch
,
len
,
2
,
NULL
,
NULL
,
items
,
&
nitems
)))
{
HRESULT
result
;
/* Some Indic characters result in more than 1 glyph. */
WORD
glyphs
[
1
],
clusters
[
1
];
SCRIPT_VISATTR
attrs
[
1
];
/* Surrogates seem to need 2 here, even though only one glyph is
returned. Indic characters can also produce 2 or more glyphs for
a single code point, but they need to use uniscribe_shape
above for correct display. */
WORD
glyphs
[
2
],
clusters
[
2
];
SCRIPT_VISATTR
attrs
[
2
];
int
nglyphs
;
result
=
ScriptShape
(
context
,
&
(
uniscribe_font
->
cache
),
ch
,
len
,
1
,
&
(
items
[
0
].
a
),
ch
,
len
,
2
,
&
(
items
[
0
].
a
),
glyphs
,
clusters
,
attrs
,
&
nglyphs
);
if
(
result
==
E_PENDING
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment