different fonts available?

eligh

Member
tried to do a search for it and found some other posts talking about different fonts, but they all seemed to be for the windows based system. any available for the ipod? i checked through the app and didnt see anything about changing fonts either.

i only ask cause i'm in taiwan studying, i use the app all day everyday (of course!), but apparently the font doesnt really suffice! my teachers constantly say i write characters wrong and then every time i bust out pleco to show them how i'm writing it, they say the font is weird!
 

mikelove

皇帝
Staff member
Not yet, but we're planning to add support for user-installable fonts once iPhone OS 4.0 comes out this summer; for various reasons it's a lot easier to do that in the new OS. The font used in stroke order diagrams might at least be a little closer to what your teachers are looking for, though.
 

tennonn8

秀才
Dear Mike,

Your answer to the question from "eligh" above was posted several months ago and as far as I know there were changes to the list of features that you planned for the new version of Pleco. (I read somewhere else in this forum that due to the coming OCR feature some other features could be postponed.) So I'd like to ask you to answer this question again, if possible, in view of the current situation. That is, if the feature of adding user-installable fonts will be present in the new version of Pleco. Like "eligh," I tried searching through the forum, but didn't find a clear answer to this question.

I'm using Pleco at my iPad now, and my new iPod Touch 4G is coming soon and the iOS 4.x is already present there. Since there's no iOS 4.x for iPad yet, I could have missed this feature in case it was already added in the version 2.1.2, in which case I'm sorry for bothering you without reason!

Thank you in advance for the answer!
 

mikelove

皇帝
Staff member
tennonn8 said:
Your answer to the question from "eligh" above was posted several months ago and as far as I know there were changes to the list of features that you planned for the new version of Pleco. (I read somewhere else in this forum that due to the coming OCR feature some other features could be postponed.) So I'd like to ask you to answer this question again, if possible, in view of the current situation. That is, if the feature of adding user-installable fonts will be present in the new version of Pleco. Like "eligh," I tried searching through the forum, but didn't find a clear answer to this question.

It actually turned out to be a lot harder; Apple didn't add support for user-installable fonts, they only added support for application-supplied ones; we could build an alternate font (or several) into Pleco, but we can't let you bring your own without putting in a *ton* of work (we'd basically have to implement our own font rendering system based on FreeType).

If we could find a good font to license at a reasonable rate to embed in our software we'd certainly consider doing so, but a lot of Chinese fonts actually look like crap on the iPhone's screen owing to Apple's particular approach to anti-aliasing - it makes regular Roman alphabets look much better than in Windows, gorgeous and well-proportioned like printed type, but it tends to make Chinese characters just look "fuzzy"; we tested embedding a few of the Chinese fonts that come with Windows in our iPhone software and they were just plain awful, almost unreadable for the more complicated characters.

So while we might eventually get around to supporting user-supplied fonts through that FreeType method I mentioned, it probably won't happen anytime soon - in fact I'd expect that you'll be able to get customized fonts through our Android software long before you'll be able to get them on iPhone.
 

tennonn8

秀才
mikelove said:
It actually turned out to be a lot harder; Apple didn't add support for user-installable fonts, they only added support for application-supplied ones; we could build an alternate font (or several) into Pleco, but we can't let you bring your own without putting in a *ton* of work (we'd basically have to implement our own font rendering system based on FreeType).

If we could find a good font to license at a reasonable rate to embed in our software we'd certainly consider doing so, but a lot of Chinese fonts actually look like crap on the iPhone's screen owing to Apple's particular approach to anti-aliasing - it makes regular Roman alphabets look much better than in Windows, gorgeous and well-proportioned like printed type, but it tends to make Chinese characters just look "fuzzy"; we tested embedding a few of the Chinese fonts that come with Windows in our iPhone software and they were just plain awful, almost unreadable for the more complicated characters.

So while we might eventually get around to supporting user-supplied fonts through that FreeType method I mentioned, it probably won't happen anytime soon - in fact I'd expect that you'll be able to get customized fonts through our Android software long before you'll be able to get them on iPhone.

Thank you very much for such a detailed reply! (Even though the news that you brought is not so very joyful...) Well, I guess that's it then. I'm sure you explored all possible options. Anyway, Pleco Dictionary is an excellent program even without somewhat better looking fonts, I really enjoy using it!

There's one thing that makes me wonder however. I have some PDFs with Chinese texts, I use the GoodReader program to read them. Well, the Chinese font used in those PDFs looks completely natural, without any rendering problems, even though the font is one of those beautiful ones, with variable line thickness and some serifs. I can think of two possible explanations. (1) I have an iPad (my new iPod still hasn't arrived), which has a big screen, so maybe the problems you talked about are only visible on the iPhone-size screens. (I hope to be able to verify this idea soon enough when my iPod comes!) (2) It's possible that GoodReader uses some standard PDF rendering API from Apply (forgive me if I'm saying something stupid here), which doesn't have to follow those strict rendering rules that you mentioned, and so using this type of rendering is not possible for rendering documents of other types and for outputting texts in a client area of an application.

Well, I'm just thinking aloud, so don't worry about it. And as I said, the program is great even as it is anyway, so I'd like to use the opportunity and thank you for it sincerely!
 

mikelove

皇帝
Staff member
tennonn8 said:
Thank you very much for such a detailed reply! (Even though the news that you brought is not so very joyful...) Well, I guess that's it then. I'm sure you explored all possible options. Anyway, Pleco Dictionary is an excellent program even without somewhat better looking fonts, I really enjoy using it!

Thanks! Door's still not entirely closed, Apple could always add an API for live font installation, or we could find a Chinese font that looks pretty on an iPhone screen and can be licensed for a reasonable rate.

tennonn8 said:
There's one thing that makes me wonder however. I have some PDFs with Chinese texts, I use the GoodReader program to read them. Well, the Chinese font used in those PDFs looks completely natural, without any rendering problems, even though the font is one of those beautiful ones, with variable line thickness and some serifs. I can think of two possible explanations. (1) I have an iPad (my new iPod still hasn't arrived), which has a big screen, so maybe the problems you talked about are only visible on the iPhone-size screens. (I hope to be able to verify this idea soon enough when my iPod comes!) (2) It's possible that GoodReader uses some standard PDF rendering API from Apply (forgive me if I'm saying something stupid here), which doesn't have to follow those strict rendering rules that you mentioned, and so using this type of rendering is not possible for rendering documents of other types and for outputting texts in a client area of an application.

I believe that's happening because those PDF files have embedded Chinese fonts - interesting that they're rendering that well, though. Do you happen to know which fonts they're using in the documents? (you can probably find this out by opening them in Acrobat Reader and pulling up the document info screen)
 

tennonn8

秀才
mikelove said:
If we could find a good font to license at a reasonable rate to embed in our software we'd certainly consider doing so, but a lot of Chinese fonts actually look like crap on the iPhone's screen owing to Apple's particular approach to anti-aliasing - it makes regular Roman alphabets look much better than in Windows, gorgeous and well-proportioned like printed type, but it tends to make Chinese characters just look "fuzzy"; we tested embedding a few of the Chinese fonts that come with Windows in our iPhone software and they were just plain awful, almost unreadable for the more complicated characters.

mikelove said:
Thanks! Door's still not entirely closed, Apple could always add an API for live font installation, or we could find a Chinese font that looks pretty on an iPhone screen and can be licensed for a reasonable rate.
...
I believe that's happening because those PDF files have embedded Chinese fonts - interesting that they're rendering that well, though. Do you happen to know which fonts they're using in the documents? (you can probably find this out by opening them in Acrobat Reader and pulling up the document info screen)

I looked closer at those PDFs and I think I started to understand better the problems that you described earlier. For example, when I opened this PDF file in Windows at 100% zoom level, I didn't like how it looked at all. It did look beautiful to me at my iPad, but I guess it was only because I already zoomed in a bit from the default "fit whole page" view. And the problem is exactly as you described, some of the strokes look "fuzzy" indeed. A Chinese character looks good only when it is big enough.

Well, I have a suggestion, but I don't know if you find it useful. What you could do is, first, pick a nice Chinese fond (something like here: http://www.pleco.com/manual/images/wmtutorial/selfreveal.gif, or better!) and embed it into the Pleco application, second, give your users a possibility to choose (in settings) which font they would like to use for each of the main parts of the interface, the default (current) one or the one with serifs. It is very important to let them make this choice separately for different parts (areas) of the interface. For example, if that were the case, I would certainly choose the new font (with serifs and variable stroke thickness) for the headwords of the flashcards (where I can adjust the font through the flashcard settings to make it big enough to look beautiful), but perhaps not for the main dictionary. I think, headwords of the flashcards is the area where a font with "correct" strokes is needed most. (When I'm trying to memorize a character, I keep looking at it for a long time, try to repeat the stroke sequence in my mind, then I look at it again, and so on. That's exactly where a well balanced image of the character, with nice and naturally looking strokes is most important for me, and I guess for many other users of Pleco as well.)

Generally, the problem with fuzzy looking fonts when the characters are small enough is more important for older devices (3G and below) rather than for iPad and 4G devices. I just got my new iPod Touch 4G and I must say, the pixel there is so small and indiscernible that it is quite possible that a natural font could looks good (not fuzzy) even for the main dictionary entries. (BTW, did you try it on iPhone/iPod 4G?) Well, I'm sure you want to support all your users no matter what generation of iDevice they use, so giving us a choice of which font and where to use through settings sounds reasonable. (Well, provided that you decide to implement this feature at all, of course!)

As for the PDFs I mentioned before, they are from the chinesepod web site. (The PDFs with lessons.) I'm sure you are well familiar with the chinesepod web site, but just in case, here's a link to a PDF with a sample (and therefore open for everybody) lesson: http://s3.amazonaws.com/chinesepod....ed632e0f1558fa046eb5/pdf/chinesepod_A1126.pdf
 

mikelove

皇帝
Staff member
tennonn8 said:
Well, I have a suggestion, but I don't know if you find it useful. What you could do is, first, pick a nice Chinese fond (something like here: http://www.pleco.com/manual/images/wmtu ... reveal.gif, or better!) and embed it into the Pleco application, second, give your users a possibility to choose (in settings) which font they would like to use for each of the main parts of the interface, the default (current) one or the one with serifs. It is very important to let them make this choice separately for different parts (areas) of the interface. For example, if that were the case, I would certainly choose the new font (with serifs and variable stroke thickness) for the headwords of the flashcards (where I can adjust the font through the flashcard settings to make it big enough to look beautiful), but perhaps not for the main dictionary. I think, headwords of the flashcards is the area where a font with "correct" strokes is needed most. (When I'm trying to memorize a character, I keep looking at it for a long time, try to repeat the stroke sequence in my mind, then I look at it again, and so on. That's exactly where a well balanced image of the character, with nice and naturally looking strokes is most important for me, and I guess for many other users of Pleco as well.)

That makes sense - the main issue would be choosing / licensing the right font. That SongTi-style font in the screenshot we link to might be iffy, though - we use a SongTi font in stroke order diagrams on iPhone and numerous people have complained about how those look; probably better to go with something more smooth and flowing like KaiTi.
 

tennonn8

秀才
mikelove said:
That makes sense - the main issue would be choosing / licensing the right font. That SongTi-style font in the screenshot we link to might be iffy, though - we use a SongTi font in stroke order diagrams on iPhone and numerous people have complained about how those look; probably better to go with something more smooth and flowing like KaiTi.

Mike, I have a feeling that my post from yesterday was somewhat "unintelligible," I'm sorry that you had to read through it. Well, I'm not confused anymore after I opened the same PDF file in GoodReader on the iPod Touch 4G today. The same font looked just fantastic! Cristal clear even when it was zoomed out to the font size smaller than the normal font size used in Pleco on the "Dictionary" tab. Perhaps, I should still be confused about why it is so different at different devices, but I feel that overall it's an excellent news anyway. So now, if you were able to follow my suggestion from my previous post here, embed a font like this in Pleco and have it rendered on the screen the way it is rendered in GoodReader, then I would certainly choose this new font to be used everywhere in Pleco. (And I don't think I would be the only one.) So I guess it would mean even less programming for you if you didn't have to provide a possibility to select different fonts for individual areas of the Pleco's user interface. (It might still be a good idea for iPad, though...)

I'll attach a few screen-shots from my iPod as soon as I get home today. Well, I guess, the question of how to get it done in Pleco could still be open for you. I'm sorry about that. On the other hand, you guys are certainly very talented, so if the programmers from GoodReader were able to do it, you would too, right? :) Of course, the font is embedded in the PDF file, but I think it is still a task for the programmer to render it like this. Yesterday, I tried opening the same document in Stanza and the font looked very bad even when zoomed in. (I think I'll attach a screen-shot for that too.) So it is certainly not about some standard API from Apple for rendering PDFs.

Well, if you decide to implement this, if I could help you with this task in any way (like beta-testing or something), I certainly would, just let me know. For now, I'm just trying to collect information. So it looks like an optimal approach could look like this. An appropriate font has to be decided upon and embedded in the Pleco application. We, the users, should be given a choice to select the old (standard) font or the new one. (Either for the whole application or for individual areas depending on how much programming effort you are ready to invest into this.) The users of Pleco who have 4G devices (with those "Retina" displays) would most probably select the new font (provided it is possible to have it rendered as nicely as in that PDF file I referred to), the users of the older "iDevices" would probably choose the old one. I guess it would make sense to set the defaults accordingly, since not everybody enjoys delving into "Settings" too deep.

So, Mike, is it doable? Or would it be too much programming?
 

tennonn8

秀才
OK, here are the screen-shots that I promised to show. This is an addition to my previous post in this thread.

Fig. 1:
Fig. 2:

In Fig. 1 a normal screen of the Dictionary tab in Pleco is shown, the way it looks at the screen of an iPod Touch 4G.

In Fig. 2, a PDF file with a chinesepod lesson as shown by GoodReader is zoomed in to such a level that the Chinese characters there are a just a little bit smaller than the Chinese characters in Fig. 1. When the image from Fig. 2 is shown on a big display under Windows, some traces of anti-aliasing could be seen. But when the same picture is shown on a Retina display (3.5") of an iPod Touch 4G, I see no traces of anti-aliasing, the characters are crystal clear. In my opinion, such a font would make a perfect replacement for the current one in Pleco. (Well, perhaps it's a matter of a personal taste though...)
 

Attachments

  • 01-Pleco-Dic-Tab.png
    01-Pleco-Dic-Tab.png
    107.2 KB · Views: 1,544
  • 02-GdRdr-Zoom-Lev-2.png
    02-GdRdr-Zoom-Lev-2.png
    110.5 KB · Views: 1,468

tennonn8

秀才
A few more screen-shots:

Fig. 3:

This (Fig. 3) is how the same font looks in GoodReader at the screen of an iPod Touch 4G when scaled to a size that could be (in my opinion) suitable for the headword of a flashcard screen. (Well, the font size there is configurable in Pleco so everyone could set it according to their personal preferences.)

Fig. 4:

Fig. 4 shows the same font scaled to the lowest size that could still be considered acceptable. Traces of anti-aliasing (fuzzy strokes) are visible both at a big computer screen and at the screen of an iPod but at least in my personal opinion, even this would still be OK. Through "Settings" in Pleco it is possible, as far as I know, to specify even a smaller font e.g. for the main entry or the definition, but it probably wouldn't make sense with this type of font. But as long as one can choose both the font face and the size I don't see any problem here. Everyone should be able to find a perfect combination that suits their personal taste.

Fig. 5:

Fig. 5 shows the same PDF as it is displayed by the Stanza program. I have no idea why it looks so bad here. But it seems to show us that the programmer can influence the way how the font is displayed in spite of those strict restrictions imposed by Apple. (I might be wrong here. I do have some programming experience, but I never tried to program for the iOS. I can only hope that you guys who created such a wonderful program as Pleco will be able to figure out how to do it "the right way.")

P.S.: I took a look at my previous post (with 2 images) and I had to conclude that those images look somewhat "terrifying" in contrast to the overall "relaxing" style of this forum. Probably, some users could be irritated by them. I'm sorry, but I don't know of a better way to post images here. On some other forums I saw a possibility to hide images in a so called "spoiler." (You click the spoiler and you see the hidden image.) I would prefer such a solution, but I have no idea if it's available here...
 

Attachments

  • 03-GdRdr-Zoom-Lev-3.png
    03-GdRdr-Zoom-Lev-3.png
    78.3 KB · Views: 1,454
  • 04-GdRdr-Zoom-Lev-1.png
    04-GdRdr-Zoom-Lev-1.png
    105.1 KB · Views: 1,401
  • 05-Stanza-Zoom.png
    05-Stanza-Zoom.png
    220.7 KB · Views: 1,456

mikelove

皇帝
Staff member
I suspect at the price they charge that GoodReader is using an open-source PDF rendering library rather than developing one from scratch themselves, but they do help show off the theoretical possibilities here...

Basically it's a question of time or money; we either:

a) License a nice new Chinese font file and embed it in our app. This isn't cheap - costs us about as much as a major new dictionary (though it's easier to license on a flat-annual-fee rather than a per-copy basis) - but would hopefully pay for itself in extra downloads (or perhaps even show up as a paid add-on module). We'd probably want to pair this with a UI redesign to make the whole app more colorful / paper-like. Along with the fee this would add a good 6 MB or so to our app's download size, slowing the process of installing it for new users and frustrating a few of them along the way.

or

b) Port the FreeType font rendering library over to iPhone and let users supply their own fonts; this wouldn't cost as much in licensing fees, but it would take a good bit of programming time, and could also be seen as encouraging font piracy. Plus it would add next to nothing to our app's download size.

I'm not actually sure which (if either) of these would make more sense, though - a) has the advantage of also working on Android, which would be especially useful given the gaps in character coverage in Android's built-in Chinese font (no radicals, e.g.), but the cheapness / flexibility of b) are appealing also.
 

tennonn8

秀才
Personally, I'd vote for variant (a) made available as an additional paid add-on module. I'd be glad to pay some extra money for it, in spite of the fact that the version of Pleco that I purchased is a "Complete Bundle." Of course you'll have to make this decision based on estimation of how many other users would follow suit. It looks though that I'm not the only one who wants to see a "naturally looking" font in Pleco. The question is how many of us are out there. (I.e. in order to make it profitable for you.)

Variant (b) takes a lot of programming effort (and of course, development time), is not reusable for Android, encourages font piracy. I don't believe you'll ever decide to go with it, even though it is flexible indeed. Well, this is just my humble opinion. I'm sure you'll make the right decision! (Hopefully, soon enough! :) )
 

taijidan

举人
I'd vote for (B) for me it's more about having the flexibility to customise and choose my own fonts and also to maybe easily switch between 2 different fonts.
Some tv shows and comics use some cartooney style font's which can be quite hard to read. One thing I'd like to do is switch between them to get a feel for how characters look in different font styles.
 

tennonn8

秀才
Of course it's always good to have more flexibility. Variant (b) is great and the only reason that I said I'd vote for variant (a) was because I got the impression (from what Mike said, see above) that implementing (b) will either take a very long time or won't be implemented at all. So my idea is, please give us at least something first!
 

mikelove

皇帝
Staff member
tennonn8 said:
Of course it's always good to have more flexibility. Variant (b) is great and the only reason that I said I'd vote for variant (a) was because I got the impression (from what Mike said, see above) that implementing (b) will either take a very long time or won't be implemented at all. So my idea is, please give us at least something first!

The problem with (a) is that an expensive font license isn't something we can really do as a short-term solution, it usually involves a multi-year commitment. So it seems like it'd be better to wait a bit longer for a long-term solution like (b).

character said:

Thanks, but this would unfortunately be rather dicey to integrate into our app because of the extremely slow performance of CAText relative to other font-rendering methods; we experimented with switching a few of our font rendering routines over to that when it first came out and they were an order of magnitude slower. Plus, we'd be stuck with Apple's not-very-Chinese-friendly anti-aliasing, whereas with our own FreeType implementation we could anti-alias text however we liked.
 

tennonn8

秀才
Mike, I'm sorry for being somewhat too nosy, but could you perhaps reveal which font Pleco uses now to render Chinese characters, or is it a top secret? :) I mean, information like the file name and where it is stored in the iOS file system. I already found the system folder where the fonts are stored and there are also a few font files in the folder of the Pleco application, but I'm not sure which one is the right one. My idea is to try replacing that font file with another one and see what happens. I don't know it it's legal, but by doing this I will certainly not be "hacking" into Pleco itself, and it doesn't even look like I'll be hacking into the system either (at least not beyond what a common jailbreaking does to the iOS), so I assume it's not illegal.

I used a trick like this on Windows at my work to get rid of that fuzzy font that MS Office 2007 started to use for rendering menus, dialog titles, etc. I hated it so much that I just went and replaced the corresponding font files with those with Tahoma and I still enjoy the result every day! I wouldn't say that I really hate the font that Pleco is currently using, but I'm just curious if I can replace it without waiting until different fonts are available officially...

Well, sorry if I asked something inappropriate, I didn't mean to!
 

tennonn8

秀才
tennonn8 said:
Mike, I'm sorry for being somewhat too nosy, but could you perhaps reveal which font Pleco uses now to render Chinese characters, or is it a top secret? :) I mean, information like the file name and where it is stored in the iOS file system. I already found the system folder where the fonts are stored and there are also a few font files in the folder of the Pleco application, but I'm not sure which one is the right one. My idea is to try replacing that font file with another one and see what happens. I don't know it it's legal, but by doing this I will certainly not be "hacking" into Pleco itself, and it doesn't even look like I'll be hacking into the system either (at least not beyond what a common jailbreaking does to the iOS), so I assume it's not illegal.

I used a trick like this on Windows at my work to get rid of that fuzzy font that MS Office 2007 started to use for rendering menus, dialog titles, etc. I hated it so much that I just went and replaced the corresponding font files with those with Tahoma and I still enjoy the result every day! I wouldn't say that I really hate the font that Pleco is currently using, but I'm just curious if I can replace it without waiting until different fonts are available officially...

Well, sorry if I asked something inappropriate, I didn't mean to!

I think I should "withdraw" my previous question. I installed a couple apps on my iPod which allow you to see how different fonts are rendered by the iOS. Well, whichever font you pick, a Chinese text looks exactly the same. It means that the only way to force Pleco to use a different font would be, presumably, to replace the font file with an external font (i.e. uploaded from the PC), which means font piracy, which is illegal. OK, let's forget about it!
 

mikelove

皇帝
Staff member
FWIW, it's STHeitiSC (Light and Medium in different places) - the OS uses either that or one of its Japanese fonts as a fallback when it encounters a CJK character in a piece of text that it can't render with the currently selected font, which is why you're seeing characters look the same in a lot of different fonts.

However, thanks to some performance optimizations we've made (working around some limitations in the iPhone's built-in font system viz-a-viz Chinese text), if you actually try to substitute STHeitiSC with another font, you'll find that Chinese characters are replaced by gibberish - random, unrelated Chinese characters - so I definitely wouldn't recommend trying to change it.
 
Top