diff options
| author | Po Lu | 2023-03-20 14:47:39 +0800 |
|---|---|---|
| committer | Po Lu | 2023-03-20 14:47:39 +0800 |
| commit | 6bd1cfa24fd04de855e53e74b46cdf4047bced4c (patch) | |
| tree | b652dff0db980c71d94fa6215138e51ede9ae174 /java | |
| parent | 739558c36958d9ec9f221ce168e15467b4579111 (diff) | |
| download | emacs-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/INSTALL | 16 |
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 | ||
| 269 | And other developers have ported the following dependencies to Android | 271 | And other developers have ported the following dependencies to Android |
| 270 | systems: | 272 | systems: |
| @@ -305,15 +307,23 @@ should not try to build these packages separately using any | |||
| 305 | TREE-SITTER | 307 | TREE-SITTER |
| 306 | 308 | ||
| 307 | A copy of tree-sitter modified to build with the ndk-build system can | 309 | A copy of tree-sitter modified to build with the ndk-build system can |
| 308 | also find that URL. To build Emacs with tree-sitter, you must unpack | 310 | also be found that URL. To build Emacs with tree-sitter, you must |
| 309 | the following tar archive in that site: | 311 | unpack 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 | ||
| 313 | and add the resulting folder to ``--with-ndk-build''. | 315 | and add the resulting folder to ``--with-ndk-build''. |
| 314 | 316 | ||
| 315 | 317 | ||
| 316 | IMAGEMAGICK | 318 | HARFBUZZ |
| 319 | |||
| 320 | A copy of HarfBuzz modified to build with the ndk-build system can | ||
| 321 | also be found at that URL. To build Emacs with HarfBuzz, you must | ||
| 322 | unpack the following tar archive in that site: | ||
| 323 | |||
| 324 | harfbuzz-7.1.0-emacs.tar.gz | ||
| 325 | |||
| 326 | and add the resulting folder to ``--with-ndk-build''. | ||
| 317 | 327 | ||
| 318 | There is a third party port of ImageMagick to Android. Unfortunately, | 328 | There is a third party port of ImageMagick to Android. Unfortunately, |
| 319 | the port also uses its own patched versions of libpng, libjpeg, | 329 | the port also uses its own patched versions of libpng, libjpeg, |