Hello,
I encountered some issues when using Unicode characters.
When I try to insert characters that are not "basic latin" (i.e. codepage Latin I 1252), for example ligatures or symbols that are stored in the Unicode Specials block of a certain font or plainly Roman numbers from the Number Forms block, DRAW X4 displays a rectangle [ ] instead of the character.
1. Open Windows' charmap.exe -> select the font / "non-standard" Unicode character and copy it to the clipboard2. Paste it to DRAW X4 and choose a) Keep font and formatting or b) Replace font and formatting.
a) means I can get the character displayed in the font I chose when copying from the Windows character map.b) means I get a rectangle instead of the character.
As you can see in the attached PDF file, DRAW X4 arbitrarily seems to select a certain codepage for the inserted character like Korean 949 or Chinese Traditional 950. Sure, it is possible to convert the character back to codepage 1252, but this leads to a totally different character.So I cannot apply the desired font on that "rectangle" since all fonts are greyed out. The only font I can use is Arial Unicode MS which of course does not contain the needed ligature or symbol, not to speak that this is not the font I want to use.
Next thing is, in case I selected to keep font and formatting when pasting the character to DRAW X4, the next time I open the document it is also a rectangle just like the character which I chose to paste without keeping font and formatting.
But when I select that rectangle and hover the font list, the font preview fly-out displays the wanted character correctly! I simply cannot select that font since they all are greyed out...
And one more interesting thing to add: When I look into the textinfo.xml file that is contained in the .cdr file I can find the "bad" character (of course displayed as a rectangle this time since the standard system fonts do not contain every character), copy it to MS Word and select the font of my choice - voilà! The character again is displayed correctly. To me this looks as if CorelDRAW X4 stores the Unicode character in its file format correctly but is unable to handle it.I see that there are variables that store language scripts of the text, e.g. 1031 for German. The characters that are not correctly displayed are defined as 2052, 3076 (Chinese) and 1042 (Korean).
I understand that when you select a certain codepage DRAW X4 only offers fonts that are compatible. But on the other hand this prevents me to take benefit of the Unicode "universe". Maybe it is possible for future versions to toss away the Latin, Asian etc. scripts scheme and switch to full Unicode support, independent from the selected language?And a broader Open Type support would be nice, too ;-)
Christopher
Hello there, someone brought my attention to this post and I thought I could at least give a partial answer.
First, Draw is a unicode application. It's UI is unicode and its text engine is unicode as well. That means that we store unicode character value in our file format.
When you see a square, this usually means that the font that Draw is trying to use to display that unicode character does not have a glyph for it.
Any portion of text in a text object is assigned 3 fonts at all time : 1 latin font, 1 asian font and 1 far east font. These fonts can come from a style or can be overrided by the user when he is manually applying a font. Draw tries to pick the right out of these 3 fonts to display a given character based on the character's unicode value and/or based on the keyboard that was active when the character was typed.
Problems arise when there are conflicts between characters and these 3 fonts. For example, a font may very well provide a glyph for the chinese character you are inputing but might not report itself as a "chinese" font in which case, Draw might assume that the font can not render this character and may fall back to another of these 3 fonts or the original text style.
All these details makes it hard to predict what will happen in certain scenarios.
Here is 2 things you can play with.
1) The character formatting docker
In there, you can see what are the 3 fonts assigned to your selection but this dialog isn't layed out right :
A
t the bottom you see the "script" combobox. That actually let you choose which font out of these 3 fonts you can to modify. If you first pick asian and then pick a valid asian font, the asian font for this selected block of text will be changed to your new selection. When choosing "All Languages", the then selected font will be applied to all 3 IF the fonts says that it support them all.
2) Change your default text styles :
This might help too in case Draw fall back to your style to get the proper font.
Also, It does when going through the "insert character" docker and inserting a character inside an existing text object, if the existing text object is using a font that have this character, then the font selected in the docker will be IGNORED. So you might want to first change the font of your text object before inserting a character from a specific font from that docker.
Lastly, beware of the special SYMBOL font like "Wingdigns". X4 does not support them correctly. A lot of work was done in X5 to get them to work properly. The problem with these fonts is that their "glyph to unicode value" mapping changes depending on your system locale and isn't fixed like it is normally the case for ordinary font.
Hope this help a bit.
Hello Claude,
thank you for your detailed reply. I guess when I deleted the fonts that were causing problems (that is, not the font I wanted to insert a character from, but the fonts whose glyphs were used instead, like Arial Unicode), Corel changed the default Asian / Middle East fonts, up to the point where these replacements did not contain the particular character. That was why the crude fix worked.
Anyways, I still wonder why the U+2082 "subscript 2" glyph is considered Asian. Corel automatically uses the Batang font for it, instead of Adobe CaslonPro:
And I cannot find a way to change it, because I cannot select CaslonPro as the Asian font, neither in the character formatting tab displayed here, nor in the default text styles (obviously, CaslonPro is not an Asian font).
Thanks and greetings,
Uwe
You can also check what are the settings under Text / Writing tools and check Language and Settings.
If you have activated Quick correct there can be your problem. Quick C will automatically change your letters due to settings he have activated (autochange)...
I disabled all in quick C coz I'm working with lots of symbols, languages, characters. And everything working just fine now (some time ago had lots of problems when I was making product labels on 12 languages...).
how do i use this script option available in character formatting doc to write in other languages like gujarati using fonts like shruti.