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
|
ucharclasses package for XeLaTex
--------------------------------
Michiel Kamermans, October 2011
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
Current compatibility should be Unicode 6.0, although
I may have missed one or more blocks that were added
between 5 and 6.
Credits?
--------
v1.0: Mike "Pomax" Kamermans
v2.0: rewritten by Enrico Gregorio
License?
--------
Public Domain
http://www.tex.ac.uk/CTAN/help/Catalogue/licenses.pd.html
Repository?
-----------
https://github.com/Pomax/ucharclasses
|