mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-15 07:41:09 -08:00
Avert a crash in the Android last resort font driver
* java/org/gnu/emacs/EmacsFontDriver.java (FONT_INVALID_CODE): New constant. (hasChar, encodeChar): Accept a jint character code rather than a jchar. * java/org/gnu/emacs/EmacsSdk23FontDriver.java (hasChar) (encodeChar): Return 0 or FONT_INVALID_CODE if the character is not representable in a Java char. * java/org/gnu/emacs/EmacsSdk7FontDriver.java (hasChar): Ditto. * src/androidfont.c (android_init_font_driver): Adjust signature to match.
This commit is contained in:
parent
f13b08be11
commit
6ffb0a1719
4 changed files with 31 additions and 10 deletions
|
|
@ -96,7 +96,7 @@ public final class EmacsSdk23FontDriver extends EmacsSdk7FontDriver
|
|||
|
||||
@Override
|
||||
public int
|
||||
hasChar (FontSpec font, char charCode)
|
||||
hasChar (FontSpec font, int charCode)
|
||||
{
|
||||
Sdk7FontObject fontObject;
|
||||
Paint paint;
|
||||
|
|
@ -109,6 +109,12 @@ public final class EmacsSdk23FontDriver extends EmacsSdk7FontDriver
|
|||
else
|
||||
paint = ((Sdk7FontEntity) font).typeface.typefacePaint;
|
||||
|
||||
return paint.hasGlyph (String.valueOf (charCode)) ? 1 : 0;
|
||||
/* If the character falls within the confines of the BMP, return
|
||||
1. */
|
||||
if (charCode < 65536)
|
||||
return paint.hasGlyph (String.valueOf ((char) charCode)) ? 1 : 0;
|
||||
|
||||
/* Otherwise return 0. */
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue