DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36977>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36977





------- Additional Comments From [EMAIL PROTECTED]  2005-10-11 06:59 -------
Every CJK indeographic is a LETTER. A sentence is a sequence of letters and
punctuations with NO space required between them.

Line breaking rules:
A feasible breaking point befor and after a CJK letter, except the follwing
punctuations rules.

Line breaking is NOT allowed after a punctuation which belongs:
unicode General Category Pi [Punctuation, Initial quote]
unicode General Category Ps [Punctuation, Open]

Line breaking is NOT allowed before a punctuation which belongs:
unicode General Category Pf [Punctuation, Final quote]
unicode General Category Pe [Punctuation, Close]
unicode General Category Po [Punctuation, Other] and Line Break IS [Infix
Separator (Numeric)]
unicode General Category Po [Punctuation, Other] and Line Break CL [Closing
Punctuation]
unicode General Category Po [Punctuation, Other] and Line Break NS [Non Starter]
unicode General Category Po [Punctuation, Other] and Line Break EX
[Exclamation/Interrogation]

The rules is trivial. So it's better to let java.text.BreakIterator take care 
of it.


Typesetting Adjustment: (For Chinese, Japanese and Korea is uncertain)
Terms:
        HALFWIDTH: most western character, width is about half of height.
        FULLWIDTH: most CJK character, width is about equal height.
        LEFTHALFGLYPH: some CJK punctuation, the glyph only occupy the left 
half width.
such as \u300B \u201D
        RIGHTHALFGLYPH: some CJK punctuation, the glyph only occupy the right 
half
width. such as \u300A \u201C
NOTE: some letters, for example \u201C, is HALFWIDTH in western fonts. In this
case, it's glyph occupy whole width, not be considered as HALFGLYPH.

Adjustment Rules:
R1. If a RIGHTHALFGLYPH follows by a RIGHTHALFGLYPH(IDEOGRAPHIC_FULL_STOP,
RIGHT_DOUBLE_QUOTATION_MARK), the first one should be compressed to it's
minimum, half width.(opt=half_width, shrink=0)
A LEFTHALFGLYPH follows by a LEFTHALFGLYPH would not occur in normal text. Don't
consider.

R2. Between a FULLWIDTH letter and a HALFWIDTH letter or digit, a small sapce is
advised. The samll sapce is set to (opt=half_sapce, shrink=half_sapce)

R3. Between 2 FULLWIDTH letter, a small shrink is allowed. 1/16 of width would
be good to avoid glyph overlapping. The feature should be configurable.

R4. When a line stretch, all feasible breaking point is stretchable. The stretch
of a glue between 2 CJK Letter should be smaller than the glue following a
punctuation. The ratio is not considered yet. Currently, the TextLayoutManager
is not consider it even for western style layout(space between words/space
following sentence end dot). 

R5. When a line shink, first compress HALFGLYPH, HALFGLYPH can be compressed to
half width. 2nd, compress the samll sapce between FULLWIDTH letter and HALFWIDTH
letter or digit (R2). 3rd, shrink the letterspace(R3).
The shrink priority is hard to implement unless modify the knuth algorithm.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to