Commit graph

68 commits

Author SHA1 Message Date
Eli Zaretskii
524e161a53 Followup to addition of TUTORIAL.fa
* etc/NEWS: Announce addition of TUTORIAL.fa.

* etc/tutorials/TUTORIAL.translators (TUTORIAL.fa): New entry.

* lisp/language/misc-lang.el ("Persian"): Add tutorial property.
2023-04-25 12:26:20 +03:00
Mohsen Banan
76f50df153 Add Farsi/Persian translation of the tutorial
* etc/tutorials/TUTORIAL.fa: New file.

* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Fix
typo in doc string.
2023-04-25 12:19:24 +03:00
Eli Zaretskii
8eacfaea6d Add Mongolian language environments
* lisp/language/misc-lang.el ("Mongolian-traditional"):
* lisp/language/cyrillic.el ("Mongolian-cyrillic"): New
language environments.

* etc/HELLO: Add Mongolian Traditional.
* etc/NEWS: Announce the new language environments.

(Bug#63028)
2023-04-25 11:50:59 +03:00
Eli Zaretskii
965c5e0231 Fix rendering of Traditional Mongolian script
* lisp/international/characters.el: Set punctuation syntax for Po
characters from the Mongolian block
* lisp/international/fontset.el (setup-default-fontset): Add
fontset setting for Traditional Mongolic.
* lisp/language/misc-lang.el (composition-function-table): Add
rules for Traditional Mongolic.  (Bug#63028)
2023-04-23 17:04:56 +03:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Eli Zaretskii
d4dffae72c ; Change parent language-environment of Kharoshthi
* lisp/language/misc-lang.el ("Kharoshthi"): Change its parent to
"Indian".  (Bug#58376)
* lisp/international/mule-cmds.el (set-language-info-alist): Fix
indentation.
2022-10-30 13:16:30 +02:00
समीर सिंह Sameer Singh
90c3a25eb1 Set the PARENTS argument for language environments
* lisp/language/indonesian.el
* lisp/language/philippine.el
* lisp/language/misc-lang.el
(set-language-info-alist): Add PARENTS argument.  (Bug#58376)
2022-10-09 17:21:33 +03:00
समीर सिंह Sameer Singh
75b7aacbf6 Add support for the Coptic script (bug#58330)
* lisp/language/misc-lang.el ("Coptic"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support coptic.
* lisp/leim/quail/misc-lang.el ("coptic"): New input method.

* etc/HELLO: Add a Coptic greeting.
* etc/NEWS: Announce the new language environment.
2022-10-08 10:46:48 +03:00
Eli Zaretskii
b14f049f00 ; Fix last change.
* lisp/leim/quail/misc-lang.el ("gothic"):
* lisp/language/misc-lang.el ("Gothic"): Doc fixes.  (Bug#58194)
2022-10-02 11:44:30 +03:00
समीर सिंह Sameer Singh
9c3d397adc Add support for the Gothic script (bug#58194)
* lisp/language/misc-lang.el ("Gothic"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support gothic.
* lisp/leim/quail/misc-lang.el ("gothic"): New input method.

* etc/HELLO: Add Gothic greetings.
* etc/NEWS: Announce the new language environment.
2022-10-02 11:39:02 +03:00
समीर सिंह Sameer Singh
4cb9342a3b Add support for the Mende Kikakui script (bug#58151)
* lisp/language/misc-lang.el ("Mende Kikakui"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Mende Kikakui, Indic Siyaq Numbers,
Ottoman Siyaq Numbers.
* lisp/leim/quail/misc-lang.el ("mende-kikakui"): New input method.

* etc/HELLO: Add Mende Kikakui greeting.
* etc/NEWS: Announce the new language environment.
2022-09-29 11:24:46 +03:00
समीर सिंह Sameer Singh
2286fbceab Add support for the Adlam script (bug#58111)
* lisp/language/misc-lang.el ("Adlam"): New language environment.
Add composition rules for Adlam. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars):
Support Adlam.
* lisp/leim/quail/misc-lang.el ("adlam"): New input method.

* etc/HELLO: Add Adlam greeting.
* etc/NEWS: Announce the new language environment.
2022-09-28 15:40:16 +03:00
Eli Zaretskii
5aaad0445d Speed up display of Arabic
* lisp/language/misc-lang.el (composition-function-table): Move
some of the Arabic composition rules to ZWJ and ZWNJ cells.  This
speeds up display of Arabic by a factor of 2.  (Bug#56682)
2022-08-06 16:55:51 +03:00
समीर सिंह Sameer Singh
71b17f1e94 Add support for the Lepcha script (bug#55869)
* lisp/language/indian.el ("Lepcha"): New language environment.
Add composition rules for Lepcha. Add sample text and input method.
* lisp/language/misc-lang.el ("Kharoshthi"): Fix whitespace.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Lepcha.
* lisp/leim/quail/indian.el ("lepcha"): New input method.

* etc/HELLO: Add a Lepcha greeting.
* etc/NEWS: Announce the new language environment.
2022-06-11 12:03:56 +03:00
Stefan Baums
521de5ab62 Add support for the Kharoshthi script
* etc/NEWS: Announce the new language environment and script.
* etc/HELLO: Add Kharoshthi greeting.

* lisp/leim/quail/misc-lang.el ("kharoshthi"): New input method.
* lisp/language/misc-lang.el ("Kharoshthi"): New language
environment.  Set up composition rules for Kharoshthi.
(Bug#55539)
2022-06-09 12:05:28 +03:00
समीर सिंह Sameer Singh
c95827c698 Add support for the Hanifi Rohingya script (bug#55745)
* lisp/language/misc-lang.el ("Hanifi Rohingya"):
New language environment.
Add composition rules for Hanifi Rohingya.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Hanifi Rohingya.
* lisp/leim/quail/misc-lang.el ("hanifi-rohingya"):
New input method.

* etc/HELLO: Add a Hanifi Rohingya greeting.
* etc/NEWS: Announce the new language environment.
2022-06-01 15:06:36 +03:00
Eli Zaretskii
08de838531 ; Improve commentary in the last change
* lisp/language/misc-lang.el: Minor copyedits of the commentary
regarding Egyptian hieroglyph support.
2021-10-29 10:41:33 +03:00
Gregory Heytings
3da9fa875b Make hieroglyphs display correctly with existing fonts
* etc/HELLO: Remove hieroglyph format control characters.

* lisp/language/misc-lang.el: Add a rule to compose Egyptian
hieroglyphs even without Unicode format control characters.
2021-10-29 10:33:36 +03:00
Stefan Monnier
b0e96e554c Use lexical-binding in of all lisp/language
* lisp/international/titdic-cnv.el (pinyin-convert):
Enable lexical-binding in the generated file(s).

* lisp/language/ethio-util.el: Use lexical-binding.
(ethio-tex-to-fidel-buffer): Use `inhibit-read-only`.  Remove unused
vars `p` and `ch`.

* lisp/language/hanja-util.el: Use lexical-binding.

* lisp/language/ind-util.el: Use lexical-binding.
(indian-translate-region): Actually use the `from` and `to` arguments.
(<toplevel>): Use `dlet`.  Remove unused var `current-repertory`.
(indian-2-column-to-ucs-region): Remove unused var `pos`.

* lisp/language/japan-util.el: Use lexical-binding.
(japanese-katakana-region, japanese-hiragana-region)
(japanese-zenkaku-region): Remove unused var `next`.

* lisp/language/korea-util.el: Use lexical-binding.

* lisp/language/lao-util.el: Use lexical-binding.
(lao-composition-function): Remove unused var `glyph`.

* lisp/language/thai-util.el: Use lexical-binding.
(thai-composition-function): Remove unused var `glyph`.

* lisp/language/thai-word.el: Use lexical-binding.
(thai-forward-word): Remove unused var `tail`.

* lisp/language/tibet-util.el: Use lexical-binding.
(tibetan-add-components): Remove unused var `tmp`.
(tibetan-compose-region): Remove unused vars `str`, `result`, `chars`.

* lisp/language/viet-util.el:
* lisp/language/tv-util.el:
* lisp/language/cyril-util.el:
* lisp/language/china-util.el: Use lexical-binding.
2021-01-27 11:13:39 -05:00
Stefan Monnier
898a94a9be Use lexical-binding in the remaining preloaded files
* lisp/widget.el:
* lisp/w32-fns.el:
* lisp/textmodes/fill.el:
* lisp/term/common-win.el:
* lisp/scroll-bar.el:
* lisp/rfn-eshadow.el:
* lisp/menu-bar.el:
* lisp/language/tibetan.el:
* lisp/language/thai.el:
* lisp/language/misc-lang.el:
* lisp/language/lao.el:
* lisp/language/korean.el:
* lisp/language/japanese.el:
* lisp/language/indian.el:
* lisp/language/hebrew.el:
* lisp/language/european.el:
* lisp/language/ethiopic.el:
* lisp/language/english.el:
* lisp/language/cyrillic.el:
* lisp/language/chinese.el:
* lisp/jka-cmpr-hook.el:
* lisp/international/ucs-normalize.el:
* lisp/international/mule.el:
* lisp/international/mule-conf.el:
* lisp/international/iso-transl.el:
* lisp/international/fontset.el:
* lisp/international/characters.el:
* lisp/format.el:
* lisp/facemenu.el:
* lisp/electric.el:
* lisp/dos-w32.el:
* lisp/dos-fns.el:
* lisp/disp-table.el:
* lisp/cus-face.el:
* lisp/composite.el:
* lisp/bindings.el:
* admin/unidata/blocks.awk:
* admin/charsets/eucjp-ms.awk:
* admin/charsets/cp51932.awk: Use `lexical-binding`.
2021-01-04 20:57:42 -05:00
Eli Zaretskii
8164f3e1ab Improve support for shaping Egyptian Hieroglyphs
* src/composite.c (composition_gstring_lookup_cache): Renamed from
gstring_lookup_cache and made external.  All callers changed.
* src/composite.h (composition_gstring_lookup_cache): Add
prototype.
* src/font.c (Ffont_shape_gstring): Call
composition_gstring_lookup_cache and return the cached composition
if it is already in the cache.

* lisp/language/misc-lang.el (egyptian-shape-grouping): New
function.
(composition-function-table): Use egyptian-shape-grouping in
setting up compositions for Egyptian Hieroglyphs.  Fix the
composition setup for horizontal and vertical joiners.
2020-10-25 18:05:37 +02:00
Eli Zaretskii
d21cdb6c05 Set up composition-function-table for Egyptian
* lisp/language/misc-lang.el (composition-function-table): Set up
for Egyptian Hieroglyphs.
2020-10-23 17:23:23 +03:00
Eli Zaretskii
22b2e9c901 Fix Arabic composition rules
* lisp/language/misc-lang.el (composition-function-table): Reorder
Arabic composition rules in descending order of lookback.

* src/composite.c (syms_of_composite): Document the order of rules
in 'composition-function-table'.
2020-06-02 20:44:59 +03:00
Eli Zaretskii
48776b7011 Provide text directionality and language to HarfBuzz shaper
* lisp/language/tv-util.el (tai-viet-composition-function):
* lisp/language/ethio-util.el (ethio-composition-function):
* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
* lisp/language/thai-util.el (thai-composition-function):
* lisp/language/misc-lang.el (arabic-shape-gstring):
* lisp/language/lao-util.el (lao-composition-function):
* lisp/language/hebrew.el (hebrew-shape-gstring):
* lisp/composite.el (compose-gstring-for-graphic)
(compose-gstring-for-dotted-circle, auto-compose-chars)
(compose-gstring-for-terminal): Accept 2nd argument DIRECTION; all
callers changed.

* src/composite.c (composition_reseat_it): Call
auto-composition-function with one more argument DIRECTION.
(syms_of_composite) <auto-composition-function>: Update the doc
string.
* src/ftfont.c (ftfont_shape_by_hb): Compute language and
direction, and set buffer properties accordingly.
* src/composite.c (autocmp_chars):
* src/w32uniscribe.c (uniscribe_shape):
* src/xftfont.c (xftfont_shape):
* src/ftfont.c (ftfont_shape, ftfont_shape_by_hb):
* src/font.c (Ffont_shape_gstring): Accept an additional argument
DIRECTION.
* src/macfont.m (lgstring_direction): New enum.
(mac_font_shape_1, mac_screen_font_shape, mac_font_shape):
Accept an additional argument specifying text direction.  All
callers changed.
* src/font.c (syms_of_font): New symbols QL2R and QR2L.
* src/font.h (shape): Accept new argument DIRECTION.  All
implementations changed.  (Bug#33729)
(ftfont_shape): Update prototype.
2018-12-29 16:35:09 +02:00
K. Handa
3d61657694 Fix docstring of arabic-shaper-ZWNJ-handling
* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
the doctstring for addition of :set (bug#28312).
2017-11-07 20:50:46 +09:00
K. Handa
f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
Make the effect of customizing arabic-shaper-ZWNJ-handling appear
immediately.
* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
value.
* src/composite.c (Fclear_composition_cache): New function.
(syms_of_composite): Defsubr it.
2017-10-15 23:15:47 +09:00
Paul Eggert
0d004ed01a ; Spelling fixes 2017-10-09 22:55:05 -07:00
K. Handa
64baaff8c5 New option for handling ZWNJ in Arabic text rendering
Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
to display ZWNJ in Arabic text rendering (Bug#28339).
* lisp/language/misc-lang.el: Register arabic-shape-gstring in
composition-function-table.
(arabic-shaper-ZWNJ-handling): New variable.
(arabic-shape-log): New variable.
(arabic-shape-gstring): New function.
* lisp/composite.el (lgstring-remove-glyph): New function.
2017-10-08 11:48:01 +09:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Eli Zaretskii
7e83f50226 ; Another minor fix in misc-lang.el 2015-10-05 22:24:25 +03:00
Eli Zaretskii
0a74e2b590 Fix composition-function-table for Arabic and Syriac
* lisp/language/misc-lang.el (composition-function-table): Fix
entries for Arabic and Syriac.
2015-10-05 22:19:39 +03:00
Eli Zaretskii
c6400e17e7 Fix composition of characters from Syriac and Arabis scripts.
lisp/language/misc-lang.el (composition-function-table): Add Syriac
 characters and also ZWJ/ZWNJ.  See
 http://lists.gnu.org/archive/html/help-gnu-emacs/2014-12/msg00248.html
 for the details.
2014-12-27 14:07:06 +02:00
Glenn Morris
32ac3a6ba3 Merge language/persian.el into language/misc-lang.el
* lisp/language/persian.el: Remove file.
* lisp/language/misc-lang.el: Move non-unique part of persian.el here.
* lisp/loadup.el: Remove language/persian.

* src/lisp.mk (lisp): Remove language/persian.elc.

* etc/NEWS: Improve entry.
2012-08-08 00:19:58 -07:00
Glenn Morris
c052c904ff Remove no-byte-compile setting from some lisp/language files.
Same comments as per 2012-05-01T06:59:34Z!rgm@gnu.org, for lisp/term:

  Not that compiling these will bring any noticeable speed benefit, but
  there's really no reason not to compile them.  The extra disk space
  and build time is negligible, and it might reveal use of obsolete
  functions, bugs, etc.
2012-05-07 21:50:17 -04:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Kenichi Handa
b60f961f6c Add Arabic support. 2010-08-25 14:13:27 +09:00
Kenichi Handa
aec663190b Add coding system windows-1256 (alias cp1256). 2010-03-08 10:50:35 +09:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Kenichi Handa
6c87545241 ("IPA"): Change coding systems to utf-8. Delete unibyte-display. 2009-07-15 12:22:38 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
4936186e9c Switch to recommended form of GPLv3 permissions notice. 2008-05-06 04:29:13 +00:00
Stefan Monnier
cbee283dd7 Fix up comment convention on the arch-tag lines. 2008-04-10 14:10:46 +00:00
Miles Bader
430d2ee291 Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-312
2008-01-09 01:21:15 +00:00
Glenn Morris
38141d208d Add 2008 to copyright years. 2008-01-07 01:33:37 +00:00
Miles Bader
e468b87f91 Merge from emacs--devo--0
Patches applied:

 * emacs--devo--0  (patch 824-831)

   - Update from CVS
   - Merge from emacs--rel--22

 * emacs--rel--22  (patch 70-74)

   - Update from CVS

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-238
2007-07-27 10:52:18 +00:00
Glenn Morris
d7142f3e55 Restore comma mistakenly removed in last change. 2007-07-25 07:41:05 +00:00
Glenn Morris
a32f6e9e4e Switch license to GPLv3 or later. 2007-07-25 07:24:56 +00:00
Miles Bader
c0466914ba Merge from emacs--devo--0
Patches applied:

 * emacs--devo--0  (patch 586-614)

   - Update from CVS
   - Update from erc--emacs--22
   - Merge from gnus--rel--5.10
   - Merge from erc--main--0
   - Make byte compiler correctly write circular constants

 * gnus--rel--5.10  (patch 186-196)

   - Update from CVS
   - Merge from emacs--devo--0

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-162
2007-01-26 06:16:11 +00:00