Suppose your document is translated to a non-Western language: Japanese, for example. After translation, a certain number of words might remain in Latin characters: product names, feature names, and acronyms, for example. The glyphs for Latin characters in common Unicode fonts (such as Mincho) that include Japanese characters might be unacceptably ugly. What you need is an automatic way to specify a different font to use for those glyphs.
DITA2Go provides settings that allow you to assign a CSS class to a range of Unicode characters. You can specify more than one class for a given element; the values are additive, and in case of conflict the latest value in the CSS file overrides earlier values. The order of values in the class attribute itself does not matter. The net effect is that you can use this feature without messing up the display of elements for which you already have other CSS rules. This is essential for the safe use of the feature.
To activate assignment of classes to Unicode character ranges:
[CSS]
; UseCharRangeClasses = No (default); or Yes (to activate settings in
; [CharacterRangeClasses] for marking spans by Unicode char range)
UseCharRangeClasses = Yes
To specify a class to use for spans of characters:
[CharacterRangeClasses]
; starting U+ code point (four or five hex digits) = class name,
; - (exclude from all classes), or * (allow in any class).
xxxx = classname optional comment here
yyyy = * allow
in all classes
zzzz = - exclude
from all classes
The named class applies to the character code specified, plus all following character codes up to the next setting. Any text after the first term (class name or symbol) is a comment. The initial state is * (for allow in any class); the last setting should specify - (exclude from all classes).
For example, to flag English and European-language text remaining in a Japanese translation:
[CharacterRangeClasses]
0021 = latin common symbols
0030 = * digits
003A = latin alpha, some symbols
00A5 = * Yen sign
00A6 = latin Latin-1, diacritics
0342 = greek Greek diacritics
0346 = latin Latin diacritics
0374 = greek Greek letters
03E2 = - Ethiopic and many more
1E00 = latin Latin extended
1F00 = greek Greek extended
2000 = * lots of punctuation
2E80 = - rest of the world
To flag Cyrillic in an English document:
[CharacterRangeClasses]
0021 = -
0400 = Russian
0514 = -
2000 = *
3000 = -