On Aug 7, 2008, at 4:15 PM, Randolph Valentine wrote:
Hi, all. I have a question regarding how to reliably determine that
a font
is a Unicode font which has Canadian Aboriginal Syllabics (CAS)
glyphs. Now
evidently because I'm working with Canadian Aborginal Syllabics,
even when I
use a clearly Unicode font having these glyphs, and ask for the
fontlanguage, it gives me ASCI. So I thought would write a script
that 1.
selects a font, 2. sets a field to that font, 3. puts a CAS
character e.g.
chartonum(5169) into the field, and if the font isn't Unicode, then no
character should show up. My little script (within an option menu that
provides the user with all of the fonts from fontnames) looks like
this:
on menuPick pChosen
set the textfont of fld "unicode_tester" to pChosen
set the useunicode to true
set the unicodetext of fld "unicode_tester" to numtochar(5169)
end menuPick
The problem is that even when I select a non-unicode font, I am still
getting the proper Syllabic character showing up for some reason.
Anyone
know why, and what I could do to get this to work? Basically, I want
my
users to be able to tell if a font they pick is a unicode font having
Canadian Aboriginal Syllabics. Thank you!
Hi Rand,
Unfortunately, Unicode in Rev doesn't give you much control over the
font the characters are displayed in. When you request a unicode
character, the OS takes over and finds a suitable font (if any) to
display it in. You really have little control over it. It is a known
issue. See <http://quality.runrev.com/qacenter/show_bug.cgi?id=2493>.
There is a possible workaround. Try something like this (not tested,
but I've used this technique lots):
on menuPick pChosen
set the useunicode to true
set the unicodetext of fld "unicode_tester" to numtochar(5169)
put the textFont of char 1 of fld "unicode_tester" into tFont1
get the htmlText of fld "unicode_tester"
replace tFont1 with pChosen in it
set the htmlText of fld "unicode_tester" to it
end menuPick
If you examine the htmlText of a field with unicode text in it, you'll
see the <font> tags with face= elements that define the font for
unicode characters. The characters themselves are HTML unicode
entities. I've had good success changing fonts by just replacing the
face= element in font tags like this.
Another thing that might work is:
set the useunicode to true
set the unicodetext of fld "unicode_tester" to numtochar(5169)
put the textFont of char 1 of fld "unicode_tester" into tFont1
replace item 1 of tFont1 with pChosen
set the unicodeText of char 1 of fld "unicode_tester" to tFont1
I'll be interested in hearing if this works for you.
Regards,
Devin
Devin Asay
Humanities Technology and Research Support Center
Brigham Young University
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution