summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/ucharclasses/README
blob: e29112c48917897670273f9432a161fcaa7a808c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
===========================================================
=
=         THIS PACKAGE IS IN NEED OF A MAINTAINER         =
=   SEE https://github.com/Pomax/ucharclasses/issues/23   =
=
===========================================================


            ucharclasses package for XeLaTex
         --------------------------------------
           Michiel Kamermans, v2.5, March 2022

The brief
---------

 Sometimes you don't want to have to bother with font
 switching just because you're using languages that are
 distinct enough to use different unicode blocks, but
 aren't covered by the polyglossia package. Where normal
 word processing packages such as Microsoft Word or
 OpenOffice Writer handle this for you, LATEX (because it
 needs you to tell it what to do) has no default behaviour
 for this, and so we arrive at a need for a package that
 does this for us. You probably already discovered that
 regular LATEX has no understanding of unicode, and ended
 up going for Xe(La)TeX as your TeX compiler of choice,
 which means you now have two excellent resources available:
 fontspec, and ucharclasses.

 The first of these lets you pick fonts based on what your
 system calls them, without needing to do anything special
 such as turning them into metafonts. This is convenient,
 user friendly, and the way of the future (at least, it
 should be).

 The second lets you define what should happen when your
 text changes from a character in one unicode block, to a
 character in another. This is also convenient, and paired
 with fontspec it offers automatic font switching in the
 same way that normal Office applications perform, with
 one big difference: you stay in control. If at some point
 you need the switch rule to do something different,
 you will be out of luck using an Office application.
 In Xe(La)TeX, you stay on top of things and still get to
 say exactly what happens, and when.

So what is it?
--------------

 This package sets up XeTeX character classes based on
 which  unicode block a character is found in. It then
 allows transition rules to be defined when entering or
 leaving particular unicode blocks, the code of which
 gets inserted automatically when a transition from a
 character from one unicode block to a character from
 another unicode block is encountered by XeTeX

Unicode Compatibility
---------------------

 Current compatibility is Unicode 14.0

Changelog
---------

 v2.5: Unicode 14 support
 v2.4: Unicode 11, 12, and 13 support
 v2.3: Unicode 10 support
 v2.2: Unicode 8.0 and LaTeX2e support
 v2.1: Uplift for the updates introduced in XeTeX 0.99994
 v2.0: Rewritten to Vastly improve performance + Unicode 6.0
 v1.0: Unicode block switching using XeTeX intercharclasses.

Contributors
------------

 v2.4-2.5: Werner Lemberg
 v2.1-2.3: Qing Lee, Werner Lemberg
 v2.0: Enrico Gregorio
 v1.0: Mike "Pomax" Kamermans

License?
--------

 Public Domain
 https://www.ctan.org/license/pd

Repository?
-----------

 https://github.com/Pomax/ucharclasses