summaryrefslogtreecommitdiff
path: root/language/japanese/BX/bxjatoucs/README.md
blob: 6e2c9bb7bc9456606329b761c63abfd4a70928dc (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
92
93
94
95
96
97
BXjatoucs Package
=================

LaTeX: To convert Japanese character code to Unicode

This package provides function-like (fully-expandable) macros that
convert a character code value in several Japanese encodings to
a Unicode value. Supported source encodings are: ISO-2022-JP (jis),
EUC-JP (euc), Shift_JIS (sjis) and the Adobe-Japan1 glyph set.

### System requirement

  * TeX format: LaTeX and plain TeX.
  * TeX engine: Anything that has e-TeX extension.
  * Dependent packages:
      - infwarerr
      - ltxcmds

### Installation

  - `*.sty` → $TEXMF/tex/latex/bxjatoucs
  - `*.tfm` → $TEXMF/fonts/tfm/public/bxjatoucs

### License

This package is distributed under the MIT License.


The bxjatoucs Package ― main
-----------------------------

### Package Loading

In plain TeX:

    \input bxjatoucs.sty

In LaTeX:

    \usepackage{bxjatoucs}

### Usage

All the macros take an argument that forms a valid number and represents
the input code value, and expands (in two steps) to the string that
represents the output Unicode scalar value in decimal.

  - `\bxjaJisToUcs{<value>}`: converts from a jis scalar value.
  - `\bxjaEucToUcs{<value>}`: converts from an euc scalar value.
  - `\bxjaSjisToUcs{<value>}`: converts from a sjis scalar value.
  - `\bxjaCidToUcs{<value>}`: converts from an AJ1 CID value.

There are variants that return in hexadecimal (zero-padded to at least
four digits):

  - `\bxjaJisToUcsHex{<value>}`
  - `\bxjaEucToUcsHex{<value>}`
  - `\bxjaSjisToUcsHex{<value>}`
  - `\bxjaCidToUcsHex{<value>}`

Note: These macros return zero (decimal `0` and hexadecimal `0000`)
if the input number is out of the valid range of source encoding.
If the input is malformed, the macros issue an error `Missing number`
and then return zero.

Additional variants:

  - `\bxjaFastCidToUcs{<value>}`: same as `bxjaCidToUcs`, except that
    the argument is assumed to be a valid decimal string.
  - `\bxjaFastCidToUcsHex{<value>}`: same for `\bxjaCidToUcsHex`.

## Example

The following `\message` lines all display `23551:21496`.

    \message{\bxjaJisToUcs{"3C77}:\bxjaJisToUcs{"3B4A}}
    \message{\bxjaEucToUcs{"BCF7}:\bxjaEucToUcs{"BBCA}}
    \message{\bxjaSjisToUcs{"8EF5}:\bxjaSjisToUcs{"8E69}}
    \message{\bxjaCidToUcs{2339}:\bxjaCidToUcs{2200}}

The following `\message` lines all display `5BFF:53F8`.

    \message{\bxjaJisToUcsHex{"3C77}:\bxjaJisToUcsHex{"3B4A}}
    \message{\bxjaEucToUcsHex{"BCF7}:\bxjaEucToUcsHex{"BBCA}}
    \message{\bxjaSjisToUcsHex{"8EF5}:\bxjaSjisToUcsHex{"8E69}}
    \message{\bxjaCidToUcsHex{2339}:\bxjaCidToUcsHex{2200}}


Revision History
----------------

  * Version 0.2  ‹2019/10/20›
      - The first public version.

--------------------
Takayuki YATO (aka. "ZR")  
https://github.com/zr-tex8r