The other day I took the time to jump down a rabbit hole that had been bugging me for a long time. The @font-face CSS property has recently gained much attention for providing designers with something that had been long given up on — the ability to use custom typefaces on the web. Recently, the Google Font API has taken this one step further by providing a number of openly licensed fonts through an API that handles cross browser issues in the background. Although this is great news for the web community, it appears that so far the unchallenged assumption is that developers only require latin-based characters, and as always the plot thickens for Asian languages. I took a good chunk of time to look at the possibility of using @font-face for CJK fonts, and comparing it to existing alternatives. The idea was to come up with a general strategy for achieving typography for Asian languages that looks as good as possible without sacrificing usability.
First a little background.
In an ironic twist, the door was opened for @font-face when when Firefox and Webkit began implementing it — Internet Explorer has had support since IE4. However, IE’s implementation was (and still is) incompatible with standard fonts, and requires conversion to an .eot (embedded open-type) font format. Google has taken care of this conversion ahead of time, and simply serves up the required file based on the user-agent header. Something similar can be accomplished on your own server — and using IE’s conditional comments (which you should be using anyway) presents an even better way to serve the css. The problem lies in converting the fonts. Traditionally, Windows provided a tool called WEFT to handle the conversion, however it’s an ancient behemoth that insists on scanning your website before performing the conversion (check out the “about” screen… ©1997-2003). Newer solutions include ttf2eot, and the online font converter. And here is where we hit our first wall.
Problem 1: Conversion
Checking out other web developer anecdotes on the web, the process of converting a TrueType font to EOT isn’t always smooth sailing. WEFT is a fussy piece of software that seems to want to do everything except a straight conversion. ttf2eot (especially the online version) is much more straightforward, but I’ve had no luck converting non-Latin characters. It seems to only convert a subset of glyphs, and Asian-based font files (3mb+) wind up less than 200k. The same is true for Online Font Converter. One of the prettiest fonts for Japanese, Kozuka Gothic Pro, is released by Adobe as an open-type font, and presents another hassle as it isn’t even TrueType to begin with.
Problem 2: Licensing
Licensing rights for embedded fonts is a bit of a gray zone. By embedding a font, you are technically distributing it, as opposed to using it in a project to be distributed. Again, I am most interested in embedding Kozuka Gothic Pro for Japanese, which was released by Adobe. They presumably retain all rights on distribution and embedding their work would be a violation of those rights. However, the fonts are also freely distributed with the Adobe Reader software, so whether this would become a problem even for a large site is questionable. For those who follow the law to the letter, it should be known that open-source Asian fonts are few and far between, simply due to the sheer work involved.
Problem 3: Filesize
Even if all of the above problems could be solved, embedding a CJK font still means a large download for the user — anywhere from 3-7 mb. That fact alone means that working with @font-face will never provide as stable results as working with OS native fonts (think modem/mobile users). Moreover, Webkit hides all text with @font-face until the font has been fully downloaded. Here is where low bandwidth users really get screwed: picture opening up a site on your iPhone and not being able to see the text until 5 minutes later! Or worse, opening a site on your iPhone in the subway and hitting a tunnel just before the font download finishes. Once the download is complete, however, the cached load should be quick, and I personally would love it if Google added just one Asian font to their font directory so we could get some real caching going.
Conclusions
@font-face presents some major challenges to developers that require CJK font sets. Even if we could get our hands on .eot fonts with full character sets (if anyone has them out there please share!), bandwidth poses some serious limitations, and especially in the case of Webkit you could potentially end up with some very pissed off users. I personally have given up on the idea for the moment, but if an easy solution were to present itself (for example, the Google Font API hosting a CJK font would alleviate the conversion issue as well as be cacheable across the web) I might consider using it for “fluffy” content — that is content that is not information essential.
In the next post I’ll look in depth at the current state of native OS CJK fonts and try to flesh out some tactics to maximize readability and aesthetics across the different browsers.

544 days ago :: Stephen Weiss ::
I too have been investigating this subject at length for a while. The folks at Monotype Imaging provide Asian fonts in their web fonts service (subscription based, but in beta right now). They do subsetting – where you get a portion of the font that has just the characters you want in that font on the page. For us it’s not particularly great, because we have dynamic text entry (designMode iframes) and we can’t predict what characters a user may type – we really need it to cope dynamically. but it scans only on page load. It can be hacked to pull down new characters on the fly but this is not particularly fast… You have to redownload the entire font, so as the number of distinct characters grows you get slower and slower.
Really though, this should be no shock. The state of Asian fonts in general is abysmal. The variety available, even commercially, is very small in comparison to the latin counterparts (or even cyrillic). We are going ahead with special web fonts support for the latin languages, and basically just aiming to support all the commonly deployed asian fonts in the meantime until some other solution arises. But unfortunately I think it will be some time… licensing issues really complicate the situation and it’s already a rather difficult problem, considering the scope of the character sets. You’re either downloading a veritable library of bitmap artwork with every font, or if you’re not, that font doesn’t have enough characters to be practical for general use.
I think in the end what could make it work is a radical restructuring of how asian fonts work in general, in particular for Chinese and the Han characters in use in Japan, Korea and Vietnam. A solution which breaks the characters down into the 214 radicals as individual vectors, and a font-agnostic system for combining those radicals for each character entity, would dramatically decrease the size of the font (and increase the burden on the font display mechanism, at the OS level), making web fonts perhaps far more practical in this context.
355 days ago :: Woosuk Suh ::
Nice posting. As a web developer who works in Korea, this issue has always been a pain in my ass. I did the exactly same thinking with you and I had also given up using fancy font-face in CJK letters due to the bandwidth problem. Font files are too big for me to use without any worries.
Definitely agree on your opinion about Google’s webfont API supporting CJK fonts. But that would not slove the bandwidth issue which can obviously happen to users who first meet the font-face CSS in their browser. As long as this fundamental font size problem is not solved, I guess I should keep using images for the fancy fonts of CJK languages, or even giving up and fall back to default sans-serif font.
265 days ago :: buy Mulberry handbags ::
This article is very good, I like,
thank you, I’m more understanding
205 days ago :: Christian Louboutin Slingback ::
http://fdhrtuhj.wordpress.com
http://xvfd6547.wordpress.com
http://fvse2654.wordpress.com
http://gbfd2155.wordpress.com
http://vsab2659.wordpress.com
http://dbfr2651.wordpress.com
http://nbfb5265.wordpress.com
http://dgfdgdfg.wordpress.com
http://gsretert.wordpress.com
http://nvbgrret.wordpress.com
http://bvndetr.wordpress.com
http://sarewr18.blog.com
http://hdsihf02.blog.com
http://jkgjkads12.blog.com
http://iuweryweo2.blog.com
http://werklfksc03.blog.com
http://bvkxchz15.blog.com
http://vcxoisydfa16.blog.com
http://fdgfhlxkfa13.blog.com
http://gkfgdsak12.blog.com
http://fdskfh14.blog.com
http://bfdbvs.journalspace.com/
http://garh46.journalspace.com
http://tjrth66.journalspace.com
http://rtetre.journalspace.com
http://vcxzf.journalspace.com/
http://gagfd.journalspace.com/
http://gfdh.journalspace.com
http://gfhdgf.journalspace.com
http://hfdsgdg.journalspace.com
http://gwertew.journalspace.com
http://gfdsgt.journalspace.com
http://ertretrfgf.blogspot.com/
http://fdgffg.blogspot.com/
http://sdfsd-fdsf.blogspot.com/
http://fggrr.blogspot.com/
http://fgasr.blogspot.com/
197 days ago :: GHD Australia ::
<p>I have been surfing on-line more than three hours as <a href=“http://www.ghd2011.net/”>GHD Hair Straighteners</a> of late, yet I never found any <a href=“http://www.ghd2011.net/”>GHD Flat Iron</a> fascinating article like yours<br />
I’ve desired to write something similar <a href=“http://www.ghd2011.net/”>GHD Online</a> to this on my webpage and this has given me a concept. Cheers.</p>
190 days ago :: north face outlet ::
There’s noticeably a bundle to find out about this. I assume you made sure good factors in features also.
178 days ago :: canada goose jakker ::
<a href=“http://www.bestcanadagoose.org/”> canada goose jakker </a>
<a href=“http://www.bestcanadagoose.org/”> canada goose parka </a>
<a href=“http://www.bestcanadagoose.org/”> canada goose jakker </a>
<a href=“http://www.bestcanadagoose.org/”> parka canada goose </a>
The root of your writing while sounding reasonable initially, did not really work very well with me after some time. Somewhere within the paragraphs you actually were able to make me a believer but just for a very short while. I nevertheless have a problem with your leaps in logic and one might do nicely to fill in all those gaps. In the event you actually can accomplish that, I could surely be impressed.
168 days ago :: Moncler jacket ::
There is noticeably a bundle to know about this specific. I assume you made sure nice points in characteristics also.
143 days ago :: Cheap Rosetta Stone ::
<p>Wow,Fantastic article,<a href=“http://www.bestrosettastonespanish.com/”>Rosetta Stone</a> it’s so helpful to me,<a href=“http://www.newrosettastonespanish.com/”>Rosetta Stone</a> and your blog is very good,<a href=“http://www.rosettastoneoutletstore.com/”>Rosetta Stone</a> I’ve learned a lot from your blog here,Keep on going,my friend,<a href=“http://www.bestrosettastonespanish.com/”>Rosetta Stone Outlet</a> I will keep an eye on <a href=“http://www.newrosettastonespanish.com/”>Cheap Rosetta Stone</a> it,One more thing,<a href=“http://www.rosettastoneoutletstore.com/”>Rosetta Stone Store</a> thanks for <a href=“http://www.rosettastoneoutletstore.com/”>Rosetta Stone Used</a> your post!welcome to <a href=“http://www.bestrosettastonespanish.com/”>Rosetta Stone Spanish</a> <a href=“http://www.bestrosettastonespanish.com/”>Rosetta Stone Sale</a>.<a href=“http://www.newrosettastonespanish.com/”>Rosetta Stone Language</a> <a href=“http://www.newrosettastonespanish.com/”>Discount Rosetta Stone</a> <a href=“http://www.rosettastoneoutletstore.com/”>Rosetta Stone Spanish</a> <a href=“http://www.rosettastoneoutletstore.com/”>Rosetta Stone Used</a> <a href=“http://www.bestrosettastonespanish.com/v3-rosetta-stone-french-level-1234-5-set-with-audio-companion-p-4.html”>Rosetta Stone French</a> <a href=“http://www.bestrosettastonespanish.com/v3-rosetta-stone-german-level-1234-5-set-with-audio-companion-p-5.html”>Rosetta Stone German</a> <a href=“http://www.bestrosettastonespanish.com/v3-rosetta-stone-italian-level-1234-5-set-with-audio-companion-p-3.html”>Rosetta Stone Italian</a> <a href=“http://www.newrosettastonespanish.com/v3-rosetta-stone-french-level-1234-5-set-with-audio-companion-p-4.html”>Rosetta Stone French</a> <a href=“http://www.newrosettastonespanish.com/v3-rosetta-stone-german-level-1234-5-set-with-audio-companion-p-5.html”>Rosetta Stone German</a> <a href=“http://www.newrosettastonespanish.com/v3-rosetta-stone-italian-level-1234-5-set-with-audio-companion-p-3.html”>Rosetta Stone Italian</a> <a href=“http://www.rosettastoneoutletstore.com/rosetta-stone-french-level-1234-5-version-3-windowsmac-p-4.html”>Rosetta Stone French</a> <a href=“http://www.rosettastoneoutletstore.com/rosetta-stone-german-level-1234-5-version-3-windowsmac-p-5.html”>Rosetta Stone German</a> <a href=“http://www.rosettastoneoutletstore.com/rosetta-stone-italian-level-1234-5-version-3-windowsmac-p-3.html”>Rosetta Stone Italian</a><a href=“http://www.ghd2011.net/”>GHD Australia</a> <a href=“http://www.ghd2011.net/”>GHD Hair Straighteners</a> <a href=“http://www.ghd2011.net/”>GHD Online</a> <a href=“http://www.ghd2011.net/”>GHD Flat Iron </a></p>
127 days ago :: puma future ::
I assume you made sure nice points in characteristics also…
125 days ago :: Coach Outlet ::
Yeah,[url=http://www.coachhandbagsoutlet2011.com/]Coach Outlet[/url] You certainly [url=http://www.coachhandbagsoutlet2011.com/]Coach Canada Handbags[/url] deserve a round of [url=http://www.coachhandbagsoutlet2011.com/]Cheap Coach Handbags[/url] applause for [url=http://www.coachhandbagsoutlet2011.com/coach-bags-c-110.html]coach bags outlet online[/url] your post and [url=http://www.coachhandbagsoutlet2011.com/coach-classic-bags-c-108.html]coach classic bags sale[/url] more specifically,[url=http://www.coachhandbagsoutlet2011.com/coach-madison-collection-c-113.html]Coach Madison Collection outlet[/url] your blog [url=http://www.coachhandbagsoutlet2011.com/coach-new-arrivals-c-116.html]new arrivals coach outlet[/url] in general. [url=http://www.coachhandbagsoutlet2011.com/coach-op-art-bags-c-114.html]Coach OP Art Bags outlet[/url] Very high quality [url=http://www.coachhandbagsoutlet2011.com/coach-poppy-c-109.html]coach poppy bags outlet[/url] material
Thank you for [url=http://www.coachhandbagsoutlet2011.com/coach-tote-bags-c-112.html]coach tote bags knock off[/url] this valuable post. [url=http://www.coachhandbagsoutlet2011.com/coach-satchel-bags-c-115.html]coach satchel bags on sale[/url] It changed my [url=http://www.coachhandbagsoutlet2011.com/coach-purses-c-111.html]coach purses outlet[/url] Thank you [url=http://www.niceuggbootsoutlet.com]UGG outlet Online[/url]?for this valuable post. It [url=http://www.uggbootaustraliaoutlet.com/]UGGS Boots[/url] changed my policy, [url=http://www.uggbootaustraliaoutlet.com/]UGG Australia[/url]?Good stuff as per usual, thanks. I do hope this kind [url=http://www.coachhandbagsoutlet2011.com/]Coach Handbags Outlet[/url] of thing gets more exposure.
120 days ago :: moncler down coats ::
Thank you today for my these, we must always heart is a thankful heart, so I’m happy every
day, hope you also so!!!!!
97 days ago :: ugg boots sale ::
Thanks for you sharing,i like it so much,and wish you post more article.
93 days ago :: Ugg Adirondack Tall Boots ::
Select a heel height that you’re used to wearing fairly often. <a href=“http://www.canadageese.us/men-chilliwack-bomber-c-8.html”><strong>Men Chilliwack Bomber</strong></a> Wider heels also provide more support and stability. ? Ensure a properly fitting shoe by shopping at the end of the day, when <a href=“http://www.cheapuggsnowboot.com/ugg-adirondack-tall-5498-c-1.html”><strong>Ugg 5498</strong></a> your feet are at their largest. ?
70 days ago :: filipino hats ::
Thank you for this article. That’s all I can say. You most definitely have made this blog into something special. You clearly know what you are doing, you’ve covered so many bases.Thanks!
33 days ago :: Moncler Online ::
Thanks for the nice blog. It was very useful for me.
33 days ago :: Coach Factory Outlet Online ::
I’m happy I found this blog. Thank you for sharing with us.
33 days ago :: Juicy couture Handbags ::
I would like to thank you for sharing your thoughts!!