[squeak-dev] Unicode issues in 4.1
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Thu Mar 25 21:27:58 UTC 2010
There seem to be several issues related to Character rendering since
(Unicode leadingChar = 0) change.
1) #scanMultiCharactersCombiningFrom:to:in:rightX:stopConditions:kern:
looks like broken
- it seems to miss-handle some #cr stopConditions
- it does not have support for kerning pairs (unlike cousins
#scanMultiCharactersFrom:to:in:rightX:stopConditions:kern:...)
- it is strange that this message has to be redefined in every
subclass (unlike cousins again)
consequently, composing/displaying/selecting seems to each have their
own behavior
A good example is to evaluate this in a workspace:
'abc_' , (String with: 1105 asCharacter) , 'def_' , String cr , 'ghi_'
2) String does not render the same whether Wide or Byte
(StringHolder new contents: 'abc_') openLabel: 'Byte'.
(StringHolder new contents: 'abc_' asWideString) openLabel: 'Wide'.
3) There used to be a change of run detected at leadingChar change,
but with all characters having 0 as leadingChar, this does not happen
anymore.
This changes the font selection.
These are good candidates for bugfix before 4.1 goes final.
For 1) I have a brutal workaround: do not honour Composing... (invert
commented code in #scanSelector)
I wish we find a better solution...
Nicolas
More information about the Squeak-dev
mailing list
|