aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2023-03-20 14:47:39 +0800
committerPo Lu2023-03-20 14:47:39 +0800
commit6bd1cfa24fd04de855e53e74b46cdf4047bced4c (patch)
treeb652dff0db980c71d94fa6215138e51ede9ae174 /java
parent739558c36958d9ec9f221ce168e15467b4579111 (diff)
downloademacs-6bd1cfa24fd04de855e53e74b46cdf4047bced4c.tar.gz
emacs-6bd1cfa24fd04de855e53e74b46cdf4047bced4c.zip
Update Android port
* configure.ac: Add support for HarfBuzz on Android. * java/INSTALL: Document where to get Emacs with HarfBuzz. * lisp/subr.el (overriding-text-conversion-style, y-or-n-p): Correctly set text conversion style if y-or-n-p is called inside the minibuffer. * src/sfnt.c (sfnt_read_cmap_format_8) (sfnt_read_cmap_format_12): Fix typos. (sfnt_read_24, sfnt_read_cmap_format_14): New function. (sfnt_read_cmap_table_1, sfnt_read_cmap_table): Handle format 14 cmap tables. (sfnt_read_default_uvs_table, sfnt_read_nondefault_uvs_table) (sfnt_compare_table_offsets, sfnt_create_uvs_context) (sfnt_free_uvs_context, sfnt_compare_uvs_mapping) (sfnt_variation_glyph_for_char, sfnt_map_table, sfnt_unmap_table) (sfnt_read_table, sfnt_test_uvs): New functions. (main): Add UVS tests. * src/sfnt.h (struct sfnt_cmap_format_14) (struct sfnt_variation_selector_record) (struct sfnt_default_uvs_table, struct sfnt_unicode_value_range) (struct sfnt_nondefault_uvs_table, struct sfnt_uvs_mapping) (struct sfnt_mapped_variation_selector_record) (struct sfnt_table_offset_rec, struct sfnt_uvs_context) (struct sfnt_mapped_table): New structures. Update prototypes. * src/sfntfont-android.c (android_sfntfont_driver): Register HarfBuzz callbacks where required. * src/sfntfont.c (sfntfont_select_cmap): Look for a format 14 table. Save it in new arg FORMAT14. (sfntfont_read_cmap): Adjust accordingly. (struct sfnt_font_info): New field `uvs'. New fields `hb_font', `fd' and `directory'. (sfntfont_open): Open uvs context. Under HarfBuzz, don't close the fd or subtable, but save them in the font info instead. (sfntfont_close): Free UVS context. Close font fd and table directory and HarfBuzz font. (sfntfont_draw): Handle case where s->padding_p. (sfntfont_get_variation_glyphs): New function. (sfntfont_unmap_blob, sfntfont_get_font_table) (sfntfont_begin_hb_font): New functions. * src/sfntfont.h: Update prototypes. * src/textconv.c (Fset_text_conversion_style): Fix doc string.
Diffstat (limited to 'java')
-rw-r--r--java/INSTALL16
1 files changed, 13 insertions, 3 deletions
diff --git a/java/INSTALL b/java/INSTALL
index 676c63a3cda..87d8979eb47 100644
--- a/java/INSTALL
+++ b/java/INSTALL
@@ -265,6 +265,8 @@ systems:
265 (Extract and point ``--with-ndk-path'' to tiff-4.5.0-emacs.tar.gz.) 265 (Extract and point ``--with-ndk-path'' to tiff-4.5.0-emacs.tar.gz.)
266 tree-sitter - https://sourceforge.net/projects/android-ports-for-gnu-emacs 266 tree-sitter - https://sourceforge.net/projects/android-ports-for-gnu-emacs
267 (Please see the section TREE-SITTER near the end of this file.) 267 (Please see the section TREE-SITTER near the end of this file.)
268 harfbuzz - https://sourceforge.net/projects/android-ports-for-gnu-emacs
269 (Please see the section HARFBUZZ near the end of this file.)
268 270
269And other developers have ported the following dependencies to Android 271And other developers have ported the following dependencies to Android
270systems: 272systems:
@@ -305,15 +307,23 @@ should not try to build these packages separately using any
305TREE-SITTER 307TREE-SITTER
306 308
307A copy of tree-sitter modified to build with the ndk-build system can 309A copy of tree-sitter modified to build with the ndk-build system can
308also find that URL. To build Emacs with tree-sitter, you must unpack 310also be found that URL. To build Emacs with tree-sitter, you must
309the following tar archive in that site: 311unpack the following tar archive in that site:
310 312
311 tree-sitter-0.20.7-emacs.tar.gz 313 tree-sitter-0.20.7-emacs.tar.gz
312 314
313and add the resulting folder to ``--with-ndk-build''. 315and add the resulting folder to ``--with-ndk-build''.
314 316
315 317
316IMAGEMAGICK 318HARFBUZZ
319
320A copy of HarfBuzz modified to build with the ndk-build system can
321also be found at that URL. To build Emacs with HarfBuzz, you must
322unpack the following tar archive in that site:
323
324 harfbuzz-7.1.0-emacs.tar.gz
325
326and add the resulting folder to ``--with-ndk-build''.
317 327
318There is a third party port of ImageMagick to Android. Unfortunately, 328There is a third party port of ImageMagick to Android. Unfortunately,
319the port also uses its own patched versions of libpng, libjpeg, 329the port also uses its own patched versions of libpng, libjpeg,