Am 12.09.2008 um 16:30 schrieb Yue Wang: > Hi: > > The following cases all use second run of context. So there is no font > cache time. I use a new installed Windows XP SP3 on a Core 2 Duo > 1.68GHz with 1GB mem machine. Only TeXWorks and ConTeXt are installed > and running on the machine. I close all pre-installed software (like > MSN, IE, etc.) and leave all extra memory for LuaTeX. > > Only 3 big chinese font, AdobeSongStd-Light, AdobeHeitiStd-Regular, > AdobeKaitiStd-Regular are loaded. However, different approaches have > different runtime, here, two cases are tested (zhfonts is attached in > the mail):
All times for a normal ConTeXt run (2 runs) without intermediate from a former run on a MacBook (2GB mem, 2.4 GHz). > \usetypescriptfile[zhfonts] > \usetypescript[myfont] > \setupbodyfont[myfont,rm,11pt] > \starttext > 你好 {\it 你好} {\bf 你好} > \stoptext > MtxRun | total runtime: 194.156 MtxRun | total runtime: 17.996 > \definefontfeature[zh][mode=node, script=hang, lang=zhs] > \definefontsynonym[song][AdobeSongStd-Light][features=zh] > \definefont[song][song at 12pt] > \definefontsynonym[hei][AdobeHeitiStd-Regular][features=zh] > \definefont[hei][hei at 12pt] > \definefontsynonym[kai][AdobeKaitiStd-Regular][features=zh] > \definefont[kai][kai at 12pt] > \starttext > {\song 你好}{\hei 你好}{\kai 你好} > \stoptext > MtxRun | total runtime: 13.797 MtxRun | total runtime: 8.930 > This also applies to file which only one big font, AdobeSongStd-Light, > is used, two cases are tested: > > \definefontfeature[zh][mode=node, script=hang, lang=zhs] > \definefontsynonym[song][AdobeSongStd-Light][features=zh] > \definefont[song][song at 12pt] > \definefontsynonym[hei][AdobeHeitiStd-Regular][features=zh] > \definefont[hei][hei at 12pt] > \definefontsynonym[kai][AdobeKaitiStd-Regular][features=zh] > \definefont[kai][kai at 12pt] > \starttext > {\song 你好} > \stoptext > MtxRun | total runtime: 5.609 MtxRun | total runtime: 4.820 > \usetypescriptfile[zhfonts] > \usetypescript[myfont] > \setupbodyfont[myfont,rm,11pt] > \starttext > 你好 > \stoptext > MtxRun | total runtime: 135.125 MtxRun | total runtime: 16.326 > If no Chinese fonts are used, three cases are tested: > \usetypescriptfile[zhfonts] > \usetypescript[myfont] > \setupbodyfont[myfont,rm,11pt] > \starttext > Hello > \stoptext > MtxRun | total runtime: 89.938 MtxRun | total runtime: 14.940 > \starttext > Hello > \stoptext > MtxRun | total runtime: 2.594 MtxRun | total runtime: 2.902 > \definefontfeature[zh][mode=node, script=hang, lang=zhs] > \definefontsynonym[song][AdobeSongStd-Light][features=zh] > \definefont[song][song at 12pt] > \definefontsynonym[hei][AdobeHeitiStd-Regular][features=zh] > \definefont[hei][hei at 12pt] > \definefontsynonym[kai][AdobeKaitiStd-Regular][features=zh] > \definefont[kai][kai at 12pt] > \starttext > Hello > \stoptext > MtxRun | total runtime: 2.734 MtxRun | total runtime: 2.892 > In a typical chinese science book, usually 4 to 10 chinese > truetype/opentype font are used. Magazines might use twenty or more. > So if we want to use the standard way (use chinese font as body font, > use virtual fonts mechanism to mix the font with latin fonts, use > different alternatives for single chinese font) > as the zhfonts.tex is presented, the running time here is usually > intolerable (more than 3 minutes' loading time with very simple text > for three fonts). Enable \preloadtypescript in cont-sys.tex. > A simple XeLaTeX file with three font embeding using XeCJK or > zhspacing for interchartoken font switching usually runs less than 8 > seconds. In this case, all the family (rm, ss, tt) parts (like bf, it, > etc) in NFSS are defined. > > So, I think there should be a way to improve the font loading > procedure. Maybe we had made deep copy to every fontsynonym defined > here which made the loading time terribly long? Are there some way to > mirror all the unchanged part of a new loading font B from a loaded > time A and only leave the modified table when A and B points to same > physical font? Thanks. > > Yue Wang Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________