<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5147096977216088439</id><updated>2011-07-08T07:46:29.386+08:00</updated><title type='text'>The World Is Flat</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-1360128491695773978</id><published>2009-07-30T14:48:00.002+08:00</published><updated>2009-07-30T14:50:29.810+08:00</updated><title type='text'>Hackweek</title><content type='html'>&lt;a title="Taobao" href="http://www.taobao.com/" id="u47-"&gt;Taobao&lt;/a&gt; is a biggest online retail marketplace for consumers in China. Founded by parent Alibaba Group, it facilitates transactions between individual consumers and a wide range of sellers such as retailers, wholesalers, and other individuals. Similar to eBay, sellers are able to post new and used goods for sale on the Taobao marketplace either through a fixed price or negotiated sale or by auction. Primary competitors include eBay, yet reports have shown that Taobao  has over 80% of the C2C market in China.&lt;br /&gt;&lt;br /&gt;It was hackweek in Novell last week.  I decided to make a Taobao extension in OpenOffice.org to facilitate Taobao users manager their transaction data including what they bough and what they sold. So that it could attract more people to use OpenOffice.org for it is reported that Taobao has over 100 million users in China. :-)&lt;br /&gt;&lt;br /&gt;Firstly, I need to learn the &lt;a title="Taobao Open Platform(TOP)" href="http://open.taobao.com/" id="lzti"&gt;Taobao Open Platform(TOP)&lt;/a&gt; which provides API to manager the business in Taobao. I wrote some example to learn how to use these API to get the transaction data of the user's bough and sold.&lt;br /&gt;&lt;br /&gt;Secondly, I also need to spend some time learn how to make an extension in Java.  And I found some examples to see how to make a custom menu and dialog  in Openoffice.org SDK.&lt;br /&gt;&lt;br /&gt;Finally, I got a prototype that could import the transaction data from Taobao into Spreadsheet.&lt;br /&gt;&lt;div id="sbp6" style="text-align: left;"&gt;&lt;div id="eihx" style="text-align: left;"&gt;&lt;img style="width: 600px; height: 98px;" src="http://docs.google.com/File?id=dhk62h9x_296fmtxf9f9_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;See the above sceenshot,  a custom menu "Taobao" is added into Calc.&lt;br /&gt;When "Taobao"-&amp;gt;"Buy" is click, your bough data is imported in the spreadsheet.&lt;br /&gt;&lt;div id="zm_k" style="text-align: left;"&gt;&lt;img style="width: 607px; height: 434px;" src="http://docs.google.com/File?id=dhk62h9x_297hqzmr4zs_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Actully, this is just a demo, not a final version. I will improve this extension and upstream the codes and binary extension into Google project &lt;a title="oootaobao" href="http://code.google.com/p/oootaobao/" id="sru9"&gt;oootaobao&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-1360128491695773978?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/1360128491695773978/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=1360128491695773978' title='41 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/1360128491695773978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/1360128491695773978'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2009/07/hackweek-2009-07-29-taobao-extens.html' title='Hackweek'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-1441263961266619607</id><published>2008-12-08T15:57:00.002+08:00</published><updated>2008-12-08T15:57:40.263+08:00</updated><title type='text'>2008-12-05</title><content type='html'>* Update early, try to make vba for word work. dump the vbaapi.db and the Global interface is included in this db too. Compared the implementation of XGlobal between word and excel, find that SwVbaGlobals::getGlobalsImpl is missing. Add this function and build again. Success to run Application.Name(). Congratuation!!&lt;br /&gt;&lt;br /&gt;* Update to dev300-m36&lt;br /&gt;&lt;br /&gt;* Start to have a look at where to add an option for word macro import for Tools|Options|Load Save|VBA Properties| Executable code ( currently the patch just hard codes executeable code ). Like an option for excel macro import. ( Supposed it is a copy&amp;amp;paste task :-) )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-1441263961266619607?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/1441263961266619607/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=1441263961266619607' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/1441263961266619607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/1441263961266619607'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2008/12/2008-12-05.html' title='2008-12-05'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-6472388028573116242</id><published>2008-12-08T15:43:00.002+08:00</published><updated>2008-12-08T15:44:42.362+08:00</updated><title type='text'>A Simple Word VBA Macro</title><content type='html'>We Novell OOo team start to work on VBA for word support. Our first simple Word macro is running.&lt;br /&gt;&lt;br /&gt;&lt;div id="u1b5" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img src="http://docs.google.com/File?id=dhk62h9x_237gxcktvf9_b" height="709" width="887" /&gt;&lt;br /&gt;&lt;br /&gt;We also add a UI option in Tools -&amp;gt; Options -&amp;gt; Load/Save -&amp;gt; VBA Properties -&amp;gt; Executable code, to indicate whether the VBA macros are imported without comments to be executable.&lt;br /&gt;&lt;br /&gt;&lt;div id="u535" style="padding: 1em 0pt; text-align: left;"&gt;&lt;img style="width: 833px; height: 442px;" src="http://docs.google.com/File?id=dhk62h9x_239f77j39f2_b" /&gt;&lt;/div&gt;&lt;br /&gt;Definitely, we have many things need to do. The first thing, I think, is about how to share the code with VBA for Excel.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-6472388028573116242?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/6472388028573116242/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=6472388028573116242' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/6472388028573116242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/6472388028573116242'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2008/12/simple-word-vba-macro.html' title='A Simple Word VBA Macro'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-208721303177589945</id><published>2008-12-03T22:53:00.002+08:00</published><updated>2008-12-03T22:55:16.940+08:00</updated><title type='text'>2008-12-03</title><content type='html'>* update the ooo-build to dev300-m36. I started to build dev300-m36 last night. When I came back this morning, found that some package were missing. For I just updated my system to SLED11 beta5, it seems these packages are removed when the system is updated. I had to install the missing packages again.  It took me about 1hours to make the new build continue.&lt;br /&gt;&lt;br /&gt;* Great to hear that Redflag 2000 guy Wanglibing wanted to start port new vba api. Answer his mail. Hope he can warm up quickly.&lt;br /&gt;&lt;br /&gt;* Accept Noel's suggestion to start a new build based on dev300-m35 in another system for it is verified to use well.&lt;br /&gt;&lt;br /&gt;* Overview the commandbar stuff. I am annoyed by the codes, ( seems not much better to port it from helperapi directly.  had better to re-invent the wheel :-). Anyway, after some modification, some common issuees are fixed. and more common apis are added too.&lt;br /&gt;&lt;br /&gt;Current existing problems:&lt;br /&gt;&lt;br /&gt;1) Regarding commandbar stuff, the main difference between MS Office and OOo is that MS Office treats commandbar as toolbar ( main menu is a toolbar named "Worksheet Menu Bar" in Excell ), while OOo treats commandbar as menu and toolbar. The url of menu is "private:resource/menubar/menubar" for build-in menus  or "vnd.openoffice.org:CustomMenu" for customize menus. The url of toolbar is "private:resource/toolbar/"  for build-in toolbars or is "private:resource/toolbar/custom_toolbar_***" for customize toolbars. In MSO, you can create customize toolbars in "tools-&amp;gt;customize". In OOo, you can create customize menu/toolbar in "Tools-&amp;gt;Customize". The related codes of the customize dialog is located in svx/source/dialog/cfg.cxx.&lt;br /&gt;&lt;br /&gt;2)  Confused with CommandBars("File") &amp;amp; CommandBars(1).Controls("File")&lt;br /&gt;* CommandBars("File")  returns a CommandBar object which type is msoBarTypePopup.&lt;br /&gt;* CommandBars(1).Controls("File") returns a CommandBarControl object which type is msoControlPopup.&lt;br /&gt;&lt;br /&gt;It seems they are referenced to the menu "File"&lt;br /&gt;&lt;br /&gt;Note they are not supported in OOo VBA yet.&lt;br /&gt;&lt;br /&gt;3) Currently OOo VBA only supports CommandBarControl, and doesn't support CommandBarPopup and CommandBarButton. In MSO both CommandBarPopup and CommandBarButton are common used. It is better to support them in OOo VBA.  Both CommandBarPopup and CommandBarButton are based on CommandBarControl, So the following macro is OK in MSO&lt;br /&gt;   &lt;br /&gt;    dim cbc1 as CommandBarControl&lt;br /&gt;    dim cbc2 as CommandBarControl&lt;br /&gt;    dim cbb as CommandBarButton&lt;br /&gt;    dim cbp as CommandBarPopup&lt;br /&gt;&lt;br /&gt;    set  cbp = CommandBars(1).Controls.Add( Type:= msoControlPopup )&lt;br /&gt;    cbp.Caption = "Popup Menu 1"&lt;br /&gt;&lt;br /&gt;    set cbc1 = CommandBars(1).Controls.Add( Type:= msoControlPopup ) &lt;br /&gt;    cbc1.Caption = "Popup Menu 2"&lt;br /&gt;&lt;br /&gt;    set cbb = cbp.Controls.Add( Type:= msoControlButton ) &lt;br /&gt;&lt;br /&gt;    set cbc2 = cbp.Controls.Add( Type:= msoControlButton ) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4) I think CommandBarControl.OnAction is an important api which is to set the name of a vb procedure that will run when the user clicks the menu/toolbar. Most of the reasons you create a customize menu/toolbar is to let user to run a vb procedure by clicking the menu/toolbar. &lt;br /&gt;    when OnAction is set, it needs to map the name os a vb procedure to a working command url of OOo. e.g.&lt;br /&gt;&lt;br /&gt;myControl.OnAction = "Macro1"&lt;br /&gt;&lt;br /&gt;    The name "Macro1" needs to convert to a working command url like: vnd.sun.star.script:Standard.Module1.Macro1?language=Basic&amp;amp;location=document&lt;br /&gt;&lt;br /&gt;* Meet a couple of breaks when building dev300-m36. To saving time, abandon to build it. and focus to build dev300-m35.&lt;br /&gt;&lt;br /&gt;* Start to have a look at the patch of vba for word.&lt;br /&gt;&lt;br /&gt;* Team meeting&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-208721303177589945?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/208721303177589945/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=208721303177589945' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/208721303177589945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/208721303177589945'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2008/12/2008-12-03.html' title='2008-12-03'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-5479639542393286211</id><published>2007-09-28T10:59:00.000+08:00</published><updated>2007-09-28T11:36:16.160+08:00</updated><title type='text'>The progress of CJK functions</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;       &lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Recently in OOoCon 2007, I made a talk about   the CJK (Chinese, Japanese and Korean) functions what I have been working on.   I think it is better to show the progress to the world. If you have any hot   issue about CJK functions, please let me know.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Here is the main CJK functions.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;CJK functions that have been done:&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Text grid enhancement&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;CJK font relevant stuff&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;MS Word compatibility options       enhancement&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;CJK functions that I am working on:&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Character/Line measurement unit and       ruler&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Paragraph style default settings for       CJK&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;CJK functions that I will work on:&lt;/span&gt; &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Punctuation compress&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt;   &lt;li&gt;     &lt;p style="margin-bottom: 0cm;"&gt;       &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Bullets and numbering enhancement&lt;/span&gt;     &lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;OK, I will make a summary for each CJK   function so that you could get more knowledge. :-)&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Text grid enhancement (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a title="http://qa.openoffice.org/issues/show_bug.cgi?id=76247" href="http://qa.openoffice.org/issues/show_bug.cgi?id=76247" id="anug"&gt;&lt;b&gt;i76247&lt;/b&gt;&lt;/a&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;One of the main CJK functions is text grid   which is wildly used in CJK environment. For example, Chinese government   document must use text grid with 22 lines per page and 28 characters per   line.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;However, there are two types of paper mode   for text grid. One is &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;squared&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt; paper mode which OOo supports currently, the   other is "Standard" paper mode which most CJK versions of office suite   (including MS Word) support.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;What's the difference between these two   types of paper mode.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;For &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;squared&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt; paper mode, as shown in Figure   1, the page is divided in a fixed numbers of lines , and each line is divided   into square cells . The number of lines per page depends on the line height (   i.e., the sum of grid base and ruby height), and the Asian characters per line   also depends on the line height.&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;div id="ys:9" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 1152px; height: 555px;" src="http://docs.google.com/File?id=dhk62h9x_70c5znkqgx" /&gt;&lt;br /&gt;&lt;b&gt;Figure 1. Squared paper mode&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;In this type of paper mode, if we change the &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Lines per page&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt; setting in the &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Text Grid&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt; tab page, the type are of the page   will be changed. This type of paper mode is only used in limited case. Most   CJK users have habit to the “standard” paper mode.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Figure 2 illustrates the &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Standard&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt; paper   mode. As we can see, the lines per page depends on the base text size, while   the characters per line depends on the character width. The ruby text is   unavailable anymore. Moreover if the lines per page is changed, the type area   is not changed yet.&lt;/span&gt;&lt;/p&gt;&lt;div id="n9:i" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 1089px; height: 571px;" src="http://docs.google.com/File?id=dhk62h9x_717t57qxfb" /&gt;&lt;br /&gt;&lt;b&gt;Figure 2. Standard paper mode&lt;/b&gt;&lt;br /&gt;&lt;/div&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Now, both types of paper mode are supported   in ooo-build. In order to ensure only one type paper mode is used in the whole   document, as shown in figure 3, a global setting option is provided in Writer tab page (Tools -&amp;gt;   Options -&amp;gt; OOo Writer -&amp;gt; General).The codes are also up-streamed which   is under QA so far.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div id="b53q" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 714px; height: 410px;" src="http://docs.google.com/File?id=dhk62h9x_72f3shm3g2" /&gt;&lt;br /&gt;&lt;b&gt;Figure 3. Global setting option for text grid&lt;/b&gt;&lt;br /&gt;&lt;/div&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;CJK font relevant&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style="font-size:100%;"&gt;There are some issues about CJK font in OOo.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;Asian font list box ( &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://qa.openoffice.org/issues/show_bug.cgi?id=73003" id="bufl"&gt;&lt;b&gt;i73003&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;span style="color: rgb(60, 60, 65);"&gt;&lt;span style="font-family:Tahoma,sans-serif;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;       &lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;The Asian font list box in the character   property dialog lists all the available fonts even if they are not Asian font   in OOo currently. It is better to only list the available CJK fonts. &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;div id="z8z1" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 592px; height: 420px;" src="http://docs.google.com/File?id=dhk62h9x_73gp89kqgj" /&gt;&lt;br /&gt;&lt;b&gt;Figure 4. Asian font list box&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;CJK mess font ( &lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://qa.openoffice.org/issues/show_bug.cgi?id=73003" id="f5gc"&gt;&lt;b&gt;i73003&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;The issue in current OOo is that the   selected western font is applied to the CJK text even if the selected western   font doesn't support CJK language. So I extend the usage of fontconfig to   check whether the selected font supports CJK language before applying the   selected font to the CJK text.&lt;/span&gt; &lt;/p&gt;&lt;div id="a:iu" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 581px; height: 386px;" src="http://docs.google.com/File?id=dhk62h9x_74g4v36xjj" /&gt;&lt;br /&gt;&lt;b&gt;Figure 5. Mess font&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;Chinese font size (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://qa.openoffice.org/issues/show_bug.cgi?id=54603" href="http://qa.openoffice.org/issues/show_bug.cgi?id=73003" id="izt6"&gt;&lt;b&gt;i54603&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;China has his own unit to measure font size   such as &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style="font-size:100%;"&gt;五号&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;"&lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;. Of course, there is a   conversion map between Chinese font size unit and western font size   unit.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;&lt;div id="bm07" style="padding: 1em; text-align: center;"&gt;&lt;img style="width: 633px; height: 419px;" src="http://docs.google.com/File?id=dhk62h9x_75d5gsswgv" /&gt;&lt;br /&gt;&lt;b&gt;Figure 6. Chinese font size&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;Font substitute   (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://qa.openoffice.org/issues/show_bug.cgi?id=54603" id="izt6"&gt;&lt;b&gt;i54603&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;The fontconfig library is extended to use to   find more suitable font when the desired font is missing. The patch is   initialed by Caolan. We make it more better support Chinese.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Microsoft Word compatibility options   enhancement (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a title="i78591" href="http://www.openoffice.org/issues/show_bug.cgi?id=78591" id="pafg"&gt;&lt;b&gt;i78591&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;As we know, in MS Word, there are quite a   lot of compatibility options which are used to control layout for different   versions.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Now, OOo only supports a few of   compatibility options. Most of them are not handled in WW8 filter, which may   cause layout different when do .DOC-&amp;gt; OOo -&amp;gt; .DOC converter.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Of course, this is a common issue not just   for CJK.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Actually, it is not necessay for OOo to   handle all the compatibility options. But in order to improve the   interoperability with MS Word, one alternative way is to store the unhandled   compatibility options in document model when import a .DOC document, and save   them out when export to .DOC document again.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Character/Line measurement unit and   ruler (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a title="i72655" href="http://qa.openoffice.org/issues/show_bug.cgi?id=72655" id="d5p."&gt;&lt;b&gt;i72655&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Character/line measurement unit and ruler is   another important CJK function that OOo doesn't support now.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;As shown in Figure 7 from MS Word 2003,   character is used to measured the indentation of the paragraph, and the line   is used to measure the paragraph spacing.&lt;/span&gt; &lt;/p&gt;&lt;div id="val8" style="padding: 1em 0pt; text-align: center;"&gt;&lt;img style="width: 344px; height: 474px;" src="http://docs.google.com/File?id=dhk62h9x_77f2tt4hc8" /&gt;&lt;br /&gt;&lt;b&gt;Figure 7. Character/line measurement unit&lt;/b&gt;&lt;br /&gt;&lt;/div&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Also as shown in Figure 8 from MS Word 2003,   the horizontal ruler can be measured by character, and the vertical ruler can   be measure by line. Character/line ruler is always used in a document with   text grid.&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;div id="xghp" style="padding: 1em 0pt;"&gt;&lt;img style="width: 100%;" src="http://docs.google.com/File?id=dhk62h9x_78hrsnv2g6" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Figure 8. Character/line ruler&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Paragraph style default settings for   CJK (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a title="i54320" href="http://www.openoffice.org/issues/show_bug.cgi?id=54320" id="o6ta"&gt;&lt;b&gt;i54320&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Currently, the paragraph style default   settings are set for western users, some default values of the paragraph   properties don't need the habit of CJK users.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;For example, the default font size of   western font size is 12pt, while it is 10.5pt for CJK. The current default tab   spacing is 1.25cm, while it is too big in writing Chinese. It is better to use   about 0.74cm in writing Chinese.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;As shown in Figure 9, the current default   setting of Asian typography is not suitable for CJK users yet.&lt;/span&gt;&lt;/p&gt;&lt;div id="mgf1" style="padding: 1em 0pt; text-align: center;"&gt;&lt;img style="width: 521px; height: 310px;" src="http://docs.google.com/File?id=dhk62h9x_79gcvz6mcv" /&gt;&lt;br /&gt;&lt;b&gt;Figure 9. Asian typography&lt;/b&gt;&lt;br /&gt;&lt;/div&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;Another example is the default value of   automatic text indent. The automatic text indent is used to specify the leave   spacing for the first line of a paragraph. The current default value is   one-character while it is better to use two-characters in writing Chinese as   shown in Figure.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Punctuation compress &lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;As shown in Figure 10 , if two Chinese   punctuation are close, the first one should be compressed to occupy only half   spacing of a Character, not full spacing of a character.&lt;/span&gt; &lt;/p&gt;&lt;div id="qjc7" style="padding: 1em 0pt; text-align: center;"&gt;&lt;img style="width: 690px; height: 241px;" src="http://docs.google.com/File?id=dhk62h9x_80c2hftgv9" /&gt;&lt;br /&gt;&lt;b&gt;Figure 10. punctuation compress&lt;/b&gt;&lt;br /&gt;&lt;/div&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;Butters and numberings (&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a title="i70031" href="http://www.openoffice.org/issues/show_bug.cgi?id=70031" id="gf55"&gt;&lt;b&gt;i70031&lt;/b&gt;&lt;/a&gt;&lt;b&gt; , &lt;/b&gt;&lt;a title="i69855" href="http://www.openoffice.org/issues/show_bug.cgi?id=69855" id="q0un"&gt;&lt;b&gt;i69855&lt;/b&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=";font-family:Thorndale AMT,serif;font-size:130%;"  &gt;&lt;b&gt;)&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;I have heard many CJK users to complaint that the bullets and numbering are not so good.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;For example, OOo can only automatic   recognize Arabic numbers or alphabets. Most CJK numbers can not be automatic   recognized.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;   &lt;span style=";font-family:Thorndale AMT,serif;font-size:100%;"  &gt;In the end, some important CJK functions are   listed in the following wiki. &lt;a href="http://wiki.services.openoffice.org/wiki/CJK_Group"&gt;http://wiki.services.openoffice.org/wiki/CJK_Group&lt;/a&gt;&lt;br /&gt;If you have any good idea or suggestion about   CJK functions, you are welcome to discuss in the wiki.&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-5479639542393286211?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/5479639542393286211/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=5479639542393286211' title='4 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/5479639542393286211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/5479639542393286211'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/09/progress-of-cjk-functions.html' title='The progress of CJK functions'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-4223975298590362783</id><published>2007-06-29T17:26:00.000+08:00</published><updated>2008-12-12T13:58:18.727+08:00</updated><title type='text'>UOF Import Filter for OpenOffice.Org</title><content type='html'>The UOF - Uniform Office Format is an emerging standard, which is being developed by the Chinese Office Software Work Group (COSWG), led by the China Electronics Standard Institute (CESI), the Ministry of Information Industry (MII), major suppliers of Chinese office software suites, and other academic institutions.&lt;br /&gt;&lt;br /&gt;This week is a hackfest week at Novell.  I am hacking a UOF( Chinese Office File Format) import filter for OpenOffice.org. This filter is an external component based on &lt;a href="http://odf-to-uof.sourceforge.net/" title="ODF-UOF Converter"&gt;ODF-UOF Converter.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An extension is developed so that OpenOffice.Org is able to open UOF text document. Here is some screenshots.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.google.com/File?id=dhk62h9x_37c5cpvwpx" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding: 1em 0pt; text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qe8KD5qUpN0/RoTW3aTdxOI/AAAAAAAAAFY/XNQAI_vcvEM/s1600-h/uof.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_Qe8KD5qUpN0/RoTW3aTdxOI/AAAAAAAAAFY/XNQAI_vcvEM/s400/uof.jpg" alt="" id="BLOGGER_PHOTO_ID_5081422527022875874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Although some features such as paragraph style, table are supported yet, there are a lot of work need to do. I will continue to work on them when I get time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-4223975298590362783?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/4223975298590362783/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=4223975298590362783' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4223975298590362783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4223975298590362783'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/06/uof-uniform-office-format-is-emerging.html' title='UOF Import Filter for OpenOffice.Org'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Qe8KD5qUpN0/RoTW3aTdxOI/AAAAAAAAAFY/XNQAI_vcvEM/s72-c/uof.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-14985751069132155</id><published>2007-05-28T10:33:00.000+08:00</published><updated>2007-05-29T15:16:48.248+08:00</updated><title type='text'>UOF–OpenXML Translator</title><content type='html'>&lt;span style="font-size:100%;"&gt;I was surprised the news that Microsoft announced UOF-OpenXML translator project with China.   The goal of UOF–OpenXML translator :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"As part of Microsoft’s continued commitment to interoperability, Microsoft decided to work with CHINA Electronics Standardization Institute, Beijing Information Technology Institute, one of the co-creators of the UOF Chinese standard , Beihang University of Beijing and with other partners to create a Translator between UOF and Open XML and provide interoperability between the two formats in both directions. Microsoft is funding and providing technical architectural guidance for the development of the translator that will benefit millions of people who live in China."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;In one sense, China is so important for Microsoft's further strategies.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;It is time to do something about UOF plug-in for OpenOffice.org, isn't it?&lt;br /&gt;&lt;br /&gt;The UOF-OpenXML project is available at &lt;a href="http://uof-translator.sourceforge.net/"&gt;http://uof-translator.sourceforge.net&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;The UOF-ODF project is available at&lt;/span&gt; &lt;a href="http://odf-to-uof.sourceforge.net"&gt;http://odf-to-uof.sourceforge.net.&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-14985751069132155?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/14985751069132155/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=14985751069132155' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/14985751069132155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/14985751069132155'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/05/uofopenxml-translator.html' title='UOF–OpenXML Translator'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-4624566794001513550</id><published>2007-04-24T15:42:00.000+08:00</published><updated>2007-04-24T18:08:19.058+08:00</updated><title type='text'>Issues wrt. text grid in Issuezilla</title><content type='html'>The prototype of text grid enhancement is available and the patch is under review now. Anybody who is interested in it could check out the patch from the cws cjksp1.&lt;br /&gt;&lt;br /&gt;Today, I happen to find that there are quite many text grid issues open in Issuezilla. I will look at them one by one and try to fix them. :)&lt;br /&gt;&lt;br /&gt;Some issues wrt. text grid in issuezilla:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=53425"&gt;i53425&lt;/a&gt;:more flexibility in the grid layout&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=73011"&gt;i73011&lt;/a&gt;:Chinese layout incorrectly with text grid&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=40768"&gt;i40768&lt;/a&gt;:CJK:Register-true not activated for frames when importing; Grid layout&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=53464"&gt;i53464&lt;/a&gt;:Word table reformatted shorter on import due to Grid layout&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=15251"&gt;i15251&lt;/a&gt;:"Snap to Grid" doesn't work correctly&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=29543"&gt;i29543&lt;/a&gt;:WW8: paragraph with "snap to grid" invisible in table&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=15424"&gt;i15424&lt;/a&gt;:baseline in grid&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=55461"&gt;i55461&lt;/a&gt;:snap to grid doesn't work correctly inside frame&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=54864"&gt;i54864&lt;/a&gt;:WW8: Different treatment of tables in page due to active CJK Grid&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=72657"&gt;i72657&lt;/a&gt;:A single line on Word got converted to two lines on Writer due to Text Grid&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=68204"&gt;i68204&lt;/a&gt;:option "Print grid" becomes inactive when reopening Page dialog&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=35684"&gt;i35684&lt;/a&gt;:[Text Grid] Vertical alignment for different font sizes differ from MS Word&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=49214"&gt;i49214&lt;/a&gt;:CJK: Line spacing interpretation is different between Word and Writer due to text grid&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=24195"&gt;i24195&lt;/a&gt;:WW Import: Cell height is too big when opened in OOo 1.1.1a (due to CJK-Grid)&lt;br /&gt;&lt;a href="http://www.openoffice.org/issues/show_bug.cgi?id=56820"&gt;i56820&lt;/a&gt;:Ruby in vertical text in grid wrongly moves original text sideways&lt;br /&gt;&lt;br /&gt;Please let me know if anybody has question about text grid layout. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-4624566794001513550?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/4624566794001513550/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=4624566794001513550' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4624566794001513550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4624566794001513550'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/04/issues-wrt-text-grid-in-issuezilla.html' title='Issues wrt. text grid in Issuezilla'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-5826007514070747241</id><published>2007-03-22T10:15:00.000+08:00</published><updated>2007-03-22T11:57:27.005+08:00</updated><title type='text'>User scenarios of text grid</title><content type='html'>The following user scenarios of text grid are under investigation.&lt;br /&gt;&lt;br /&gt;1. When user creates a text document, the default paper mode of text grid is read from user preference settings. User can switch the default paper mode of text grid in text document options tab page. (Tools --&gt; Options --&gt; Text Document --&gt; General) by clicking the check box "Use squared paper mode for text grid".&lt;br /&gt;&lt;br /&gt;2. When import a Ms Word 97/2000 file (.doc), the default paper mode is treated as "standard paper mode". &lt;br /&gt;&lt;br /&gt;3. When import a text document of the previous version of OO.org (.odt, .sxw), the default paper mode is treated as "squared paper mode"&lt;br /&gt;&lt;br /&gt;4. When user is editing a text document with text grid. &lt;br /&gt;if he switchs the paper mode from "squared" to "standard", the following behavior is used:&lt;br /&gt;  * line height = Max base text size + Max ruby text size&lt;br /&gt;  * lines per page =  type area height / line height&lt;br /&gt;  * Max ruby text size = 0&lt;br /&gt;&lt;br /&gt;if he switch the paper mode from "standard" to "squared", the following behavior is used:&lt;br /&gt;  * line height = type area height / lines per page&lt;br /&gt;  * Max base text size = line height * 2 / 3&lt;br /&gt;  * Max ruby text size = line height / 3&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-5826007514070747241?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/5826007514070747241/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=5826007514070747241' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/5826007514070747241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/5826007514070747241'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/03/user-scenarios-of-text-grid.html' title='User scenarios of text grid'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-9060696132515005304</id><published>2007-03-20T10:26:00.000+08:00</published><updated>2008-12-12T13:58:19.271+08:00</updated><title type='text'>Two kinds of text grid layout</title><content type='html'>As mensioned before, there are two kinds of text grid layout which are used in CJK users. One is "squared page mode", the other is "standard (rectangle) page mode".&lt;br /&gt;&lt;br /&gt;Per the text grid prososal approved by ODF TC, the style:layout-grid-standard-mode property is added to specified which kind of text grid is used for the document. &lt;br /&gt;&lt;br /&gt;In order to ensure that either “sqaured mode” or “standard mode “is used for the whole document, the style:layout-grid-standard-mode property can only be set for the default style of the “page-layout”. When the style:layout-grid-standard-mode attribute appears inside a style:page-layout definition, then the attribute MUST be ignored.&lt;br /&gt;&lt;br /&gt;Global setting entry for selection of which kind of text grid layout is used for the whole document. (Tools--&gt;Options--&gt;OpenOffice.Org Writer--&gt;General)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rf9NqOZ3faI/AAAAAAAAAFE/4ymEhcBYuW4/s1600-h/squared2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rf9NqOZ3faI/AAAAAAAAAFE/4ymEhcBYuW4/s400/squared2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5043835495494679970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When the "Use squared page mode for text grid" is checked, the original tab page of text grid is used.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rf9MueZ3fYI/AAAAAAAAAE0/K-LheV2NwSc/s1600-h/squared.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rf9MueZ3fYI/AAAAAAAAAE0/K-LheV2NwSc/s400/squared.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5043834468997496194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When the "Use squared page mode for text grid" is unchecked, the following tab page of text grid is used.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qe8KD5qUpN0/Rf9M6uZ3fZI/AAAAAAAAAE8/KY3ZxEDFoqU/s1600-h/standard.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_Qe8KD5qUpN0/Rf9M6uZ3fZI/AAAAAAAAAE8/KY3ZxEDFoqU/s400/standard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5043834679450893714" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-9060696132515005304?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/9060696132515005304/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=9060696132515005304' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/9060696132515005304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/9060696132515005304'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/03/two-kinds-of-text-grid-layout.html' title='Two kinds of text grid layout'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rf9NqOZ3faI/AAAAAAAAAFE/4ymEhcBYuW4/s72-c/squared2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-211317008297102635</id><published>2007-03-13T11:59:00.001+08:00</published><updated>2007-03-13T14:28:19.812+08:00</updated><title type='text'>Text grid in Ms Word 97 binary file format</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;In Ms Word 97 binary file format, there are three SPRMs to deal with grid. They are:&lt;/span&gt;&lt;/p&gt; &lt;table style="color: rgb(0, 0, 0); width: 552px; height: 118px;" border="1" cellpadding="6" cellspacing="0"&gt;  &lt;col width="99"&gt;  &lt;col width="37"&gt;  &lt;col width="88"&gt;  &lt;col width="28"&gt;  &lt;col width="171"&gt;  &lt;tbody&gt;&lt;tr valign="top"&gt;   &lt;td width="99"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="37"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;sprm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="88"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="28"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;size&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="171"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Description&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="99"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;sprmSDxtCharSpace&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="37"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;0x7030&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="88"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Sep.dxtCharSpace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="28"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="171"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Specifies    the grid width&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="99"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;sprmSDyaLinePitch&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="37"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;0x9031&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="88"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Sep.dyaLinePitch&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="28"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="171"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Specifies    the grid height&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="99"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;sprmSClm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="37"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;0x5032&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="88"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Sep.clm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="28"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;long&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="171"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Specifies    the grid type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;sprmSClm has four values, which corresponds to four types of grid.&lt;/span&gt;&lt;/p&gt; &lt;table style="color: rgb(0, 0, 0);" border="1" cellpadding="6" cellspacing="0" width="301"&gt;  &lt;col width="59"&gt;  &lt;col width="40"&gt;  &lt;col width="164"&gt;  &lt;tbody&gt;&lt;tr valign="top"&gt;   &lt;td width="59"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="40"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="164"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Grid    type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td rowspan="4" width="59"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;sprmSClm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="40"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="164"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;No    grid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="40"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="164"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Specify    line and character grid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="40"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="164"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Specify    line grid only&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="40"&gt;    &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width="164"&gt;    &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:85%;"&gt;Text    snaps to character grid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-211317008297102635?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/211317008297102635/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=211317008297102635' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/211317008297102635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/211317008297102635'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/03/text-grid-in-ms-word-97-binary-file.html' title='Text grid in Ms Word 97 binary file format'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-411851653607968872</id><published>2007-03-12T19:11:00.001+08:00</published><updated>2008-12-12T13:58:19.793+08:00</updated><title type='text'>Text grid enhancement in MS  Office 2007</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;Today, I downloaded and installed a Chinese trial version of MS Office 2007. I was surprised that “Square page mode” is also supported in MS word 2007, which is not supported in previous version.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;Below illustrates the menu entry for “square mode” setting.  ( Maybe this function is disabled in none_CJK version in default)&lt;/span&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;.&lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rfi2qfZVGQI/AAAAAAAAAEU/yHvc0UvAElg/s1600-h/squaredpage_html_6938b944.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rfi2qfZVGQI/AAAAAAAAAEU/yHvc0UvAElg/s400/squaredpage_html_6938b944.png" alt="" id="BLOGGER_PHOTO_ID_5041980623939770626" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;Setting tab page:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rfi2wvZVGRI/AAAAAAAAAEc/l1ZUuJ07o60/s1600-h/squaredpage_html_m58bef846.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rfi2wvZVGRI/AAAAAAAAAEc/l1ZUuJ07o60/s400/squaredpage_html_m58bef846.png" alt="" id="BLOGGER_PHOTO_ID_5041980731313953042" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style="margin: 0.48cm 0.69cm; line-height: 0.68cm; widows: 2; orphans: 2;" align="center" lang=""&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;Squared page (20 &lt;span style="font-family:宋体,SimSun;"&gt;×&lt;/span&gt;20):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rfi27vZVGSI/AAAAAAAAAEk/JXP_niZpZxg/s1600-h/squaredpage_html_m94af3d3.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_Qe8KD5qUpN0/Rfi27vZVGSI/AAAAAAAAAEk/JXP_niZpZxg/s400/squaredpage_html_m94af3d3.png" alt="" id="BLOGGER_PHOTO_ID_5041980920292514082" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;If the “square page mode” is enabled, the page setting menu is disabled. “standard page mode” setting is not allowed, which avoids mixed page mode in a document.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-411851653607968872?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/411851653607968872/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=411851653607968872' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/411851653607968872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/411851653607968872'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/03/text-grid-enhancement-in-ms-office-2007.html' title='Text grid enhancement in MS  Office 2007'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Qe8KD5qUpN0/Rfi2qfZVGQI/AAAAAAAAAEU/yHvc0UvAElg/s72-c/squaredpage_html_6938b944.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-4668503455156014934</id><published>2007-02-26T15:33:00.000+08:00</published><updated>2008-12-12T13:58:19.956+08:00</updated><title type='text'>Text doesn't snap to grid</title><content type='html'>Contiue to investigate the layout behavior when the text doesn't snap to grid.&lt;br /&gt;&lt;br /&gt;For East Asian text, not more than one Asian character is displayed within a signle cell. The space between two Asian characters is (grid width - font height)&lt;br /&gt;&lt;br /&gt;For Western text, The space between two Western characters is (grid width - font height)/2.&lt;br /&gt;&lt;br /&gt;The following diagram illustrates this algorithm in brief.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qe8KD5qUpN0/ReKsiXiCjJI/AAAAAAAAAEE/C1YmV9h0k6k/s1600-h/oo2_no_snap1.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_Qe8KD5qUpN0/ReKsiXiCjJI/AAAAAAAAAEE/C1YmV9h0k6k/s400/oo2_no_snap1.png" alt="" id="BLOGGER_PHOTO_ID_5035777039785954450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Certainly, it just specifies what happens if grid width is greater than font height.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-4668503455156014934?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/4668503455156014934/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=4668503455156014934' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4668503455156014934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4668503455156014934'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/02/text-doesnt-snap-to-grid.html' title='Text doesn&apos;t snap to grid'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Qe8KD5qUpN0/ReKsiXiCjJI/AAAAAAAAAEE/C1YmV9h0k6k/s72-c/oo2_no_snap1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-9139788667886875322</id><published>2007-02-16T14:57:00.000+08:00</published><updated>2007-02-16T15:41:08.963+08:00</updated><title type='text'>Some knowledge about text grid</title><content type='html'>I just checked the Office OpenXML file format and try to find the difference between the two types of text grid.&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;linesAndChars (Line and Character Grid):&lt;/span&gt; Specifies that the parent section shall have both the additional line pitch and character pitch added to each line and character within it (as specified on the docGrid element (§2.6.5)) in order to maintain a specific number of lines per page and characters per line.  When this value is set, the input specified via the user interface may be allowed in exact number of line/character pitch units.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;snapToChars (Character Grid Only) : &lt;/span&gt;Specifies that the parent section shall have both the additional line pitch and character pitch added to each  line and character within it (as specified on the docGrid element (§2.6.5)) in order to maintain a specific number of lines per page and characters per line.When this value is set, the input specified via the user interface may be restricted to the number of lines per page and characters per line, with the consumer or producer translating this information based on the current font data to get the resulting line and character pitch values &lt;/li&gt;&lt;/ul&gt;OpenXML file format just specifies the difference of the user interface between these two types of text grid,  while it doesn't piont out the difference of the layout behavior, especially for the layout behavior of Asian text and Webtern Text.&lt;br /&gt;&lt;br /&gt;It seems that the author of the specification doen't know the essential difference between these two types of text grid. :-)&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="链接" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;Currently, I am investigating the Document Grid specified in CSS3 mensioned by Florian.&lt;br /&gt;&lt;a href="http://www.w3.org/TR/2003/CR-css3-text-20030514/#document-grid"&gt;http://www.w3.org/TR/2003/CR-css3-text-20030514/#document-grid&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-9139788667886875322?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/9139788667886875322/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=9139788667886875322' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/9139788667886875322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/9139788667886875322'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/02/i-just-checked-office-openxml-file.html' title='Some knowledge about text grid'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-2835893086564078296</id><published>2007-02-15T16:33:00.000+08:00</published><updated>2008-12-12T13:58:20.873+08:00</updated><title type='text'></title><content type='html'>Investigated the behavior of "Text snaps to characters grid".&lt;br /&gt;* If the grid type is grid(line and characters) and the "snap-to-characters" attribute is ture,  the Asian character is centered in the single cell, while   the non Asian text is centered within as many cells as required.&lt;br /&gt;&lt;br /&gt;* If the grid type is grid(line and characters) and the "snap-to-characters" attribute is false,  the Asian character is not centered in the single cell,  but what  is the behavior for the non Asian text?&lt;br /&gt;&lt;br /&gt;Below is the screenshot from MS Word&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Qe8KD5qUpN0/RdQeKfSxzkI/AAAAAAAAAC0/rKGx2VbJS8o/s1600-h/word_snap_chars1.bmp"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_Qe8KD5qUpN0/RdQeKfSxzkI/AAAAAAAAAC0/rKGx2VbJS8o/s400/word_snap_chars1.bmp" alt="" id="BLOGGER_PHOTO_ID_5031679849227472450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 1,&lt;span lang="en-US"&gt;Text snaps to character grid &lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdQfc_SxzpI/AAAAAAAAADc/RZp7oV5IDPM/s1600-h/word_snap_chars_no2.bmp"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdQfc_SxzpI/AAAAAAAAADc/RZp7oV5IDPM/s400/word_snap_chars_no2.bmp" alt="" id="BLOGGER_PHOTO_ID_5031681266566680210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 2, &lt;span lang="en-US"&gt;Specify line and character grid&lt;br /&gt;&lt;br /&gt;It seems that there is a special behavior for non Asian text when the text doesn't snap to the character grid.&lt;br /&gt;Where can I get some clues?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-2835893086564078296?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/2835893086564078296/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=2835893086564078296' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/2835893086564078296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/2835893086564078296'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/02/investigated-behavior-of-text-snaps-to.html' title=''/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Qe8KD5qUpN0/RdQeKfSxzkI/AAAAAAAAAC0/rKGx2VbJS8o/s72-c/word_snap_chars1.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-774396693316097119</id><published>2007-02-14T19:54:00.000+08:00</published><updated>2008-12-12T13:58:21.981+08:00</updated><title type='text'>Text Grid Enhancement</title><content type='html'>It is my pleasure to announce a new enhancement  feature (Text Grid) in writer document.  Currently I am work on this feature.&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;reate a new page in openoffice wiki to ask for input&lt;/span&gt;. Here is the link : &lt;a href="http://wiki.services.openoffice.org/wiki/Text_grid"&gt;http://wiki.services.openoffice.org/wiki/Text_grid&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Below is the two kinds of text grid layout.&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdMCgPSxzcI/AAAAAAAAABU/EC2hAft6mis/s1600-h/square1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdMCgPSxzcI/AAAAAAAAABU/EC2hAft6mis/s400/square1.jpg" alt="" id="BLOGGER_PHOTO_ID_5031367961587338690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Figure1, Squared page mode&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdMCxPSxzdI/AAAAAAAAABc/SPZDQ1yt4zc/s1600-h/rectangle2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdMCxPSxzdI/AAAAAAAAABc/SPZDQ1yt4zc/s400/rectangle2.jpg" alt="" id="BLOGGER_PHOTO_ID_5031368253645114834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure2, Rectangle page mode&lt;br /&gt;&lt;br /&gt;1) "Squared paper mode".  It is used by ODF.&lt;br /&gt;For this kind of grid layout, the page is divided in a fixed numbers of lines (lines per page). The lines are divided into squared cells (characters per line).  The number of lines per page depends on the line height ( i.e., the sum of grid base and ruby height), and the characters per line also depends on the line height.&lt;br /&gt;&lt;br /&gt;In "Squared paper mode", the “Characters per line” setting has the most high priority, it will determine the height of line, then the “Lines per page” setting has the second priority, it will determine the height of type area.&lt;br /&gt;&lt;br /&gt;This kind of grid layout "Squared paper mode" is used to simulate “squared paper”, which is a kind of specific paper used 20 years ago(before personal computer is widely used in text processing). But now, “squared paper” is only used in very limited case, and most CJK users won't use it anymore.&lt;br /&gt;&lt;br /&gt;2) "Rectangle paper mode".  It is used by OpenXML, UOF (Chinese Office File Format) and other CJK office suites (i.e., EIOFFICE, WPS).&lt;br /&gt;For this kind of grid layout, the page is divided in a fixed numbers of lines (lines per page). While the lines are divided into rectangle cells (characters per line). Ruby grid is not specified in this paper mode. So the line height is grid base height and the characters per line depends on the grid base width, not grid base height.&lt;br /&gt;&lt;br /&gt;In "Rectangle paper mode", type area has the most high priority, it will determine the height of line;  the “Lines per page” setting has the second priority, and “Characters per line” setting can only determine the width of characters, and can't influence line height in anyway.&lt;br /&gt;&lt;br /&gt;This kind of grid layout "Rectangle paper mode" is wildly used in CJK users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* Snap to characters&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span lang="en-US"&gt;We add a “snap to characters” attributes to specify whether the Asian character is centered in the grid cell or not when the grid type is set as “Grid(lines and characters)”. The default value “snap to characters” is “true”.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Thorndale AMT,serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span lang="en-US"&gt;This additional attribute also improve the compatibility with MS word. Below is the map of grid type between MS Word 2003 and OpenOffice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="color: rgb(0, 0, 0);" border="1" cellpadding="4" cellspacing="0" width="100%"&gt;  &lt;col width="128*"&gt;  &lt;col width="128*"&gt;  &lt;tbody&gt;&lt;tr valign="top"&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;&lt;b&gt;Word 2003&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;&lt;b&gt;OpenOffice.org 2.1.0&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;1. No grid&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;A. No grid&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;2. Specify line grid only (Default)&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;B. Grid (lines only) (Default)&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;3. Specify line and character grid &lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;a name="DDE_LINK3"&gt;&lt;/a&gt;&lt;span lang="en-US"&gt;C. Grid (lines and characters), “snap-to-characters” is false.&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr valign="top"&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;4. Text snaps to character grid  &lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;   &lt;td width="50%"&gt;    &lt;pre&gt;&lt;span lang="en-US"&gt;D. Grid (lines and characters), “snap-to-characters” is true.&lt;/span&gt;&lt;/pre&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Qe8KD5qUpN0/RdMJ0_SxzeI/AAAAAAAAABs/7c4r0EUhcyw/s1600-h/nogrid.jpg"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_Qe8KD5qUpN0/RdMJ0_SxzeI/AAAAAAAAABs/7c4r0EUhcyw/s400/nogrid.jpg" alt="" id="BLOGGER_PHOTO_ID_5031376014651018722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 3. &lt;span&gt;&lt;span lang="en-US"&gt;No grid&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMKFfSxzfI/AAAAAAAAAB0/MXduftHCbtg/s1600-h/linegrid.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMKFfSxzfI/AAAAAAAAAB0/MXduftHCbtg/s400/linegrid.jpg" alt="" id="BLOGGER_PHOTO_ID_5031376298118860274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 4 . &lt;span&gt;&lt;span lang="en-US"&gt;Grid (lines only)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMKcfSxzhI/AAAAAAAAACE/sgW0fHOYwI4/s1600-h/no-snap-to-chars.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMKcfSxzhI/AAAAAAAAACE/sgW0fHOYwI4/s400/no-snap-to-chars.gif" alt="" id="BLOGGER_PHOTO_ID_5031376693255851538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Figure 5. &lt;span&gt;&lt;span lang="en-US"&gt;Grid (lines and characters), “snap-to-characters” is false&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMLVfSxzjI/AAAAAAAAACo/eYMbIULB6uY/s1600-h/snap-to-chars.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_Qe8KD5qUpN0/RdMLVfSxzjI/AAAAAAAAACo/eYMbIULB6uY/s400/snap-to-chars.gif" alt="" id="BLOGGER_PHOTO_ID_5031377672508395058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Figure 6. &lt;span&gt;&lt;span lang="en-US"&gt;Grid (lines and characters), “snap-to-characters” is true&lt;br /&gt;&lt;br /&gt;As shown in Figure 5, when "snap-to-chars" is false, the Asian characters are not centered in the cell, while the Western character ("OpenOffice.Org) are also centered in the cell. This is not accurate.  It is work in progress now.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-774396693316097119?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/774396693316097119/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=774396693316097119' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/774396693316097119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/774396693316097119'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/02/text-grid-enhancement.html' title='Text Grid Enhancement'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Qe8KD5qUpN0/RdMCgPSxzcI/AAAAAAAAABU/EC2hAft6mis/s72-c/square1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5147096977216088439.post-4839001959267393624</id><published>2007-02-14T19:34:00.000+08:00</published><updated>2007-02-14T19:54:10.267+08:00</updated><title type='text'>Valentine's Day Evening</title><content type='html'>In Valentine's Day evening, other staffs are off work. Only I am in office to create a blog to blog what I am doing everyday, quite interesting.&lt;br /&gt;Florian help me to create it, thank Florian&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5147096977216088439-4839001959267393624?l=linpeifeng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linpeifeng.blogspot.com/feeds/4839001959267393624/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5147096977216088439&amp;postID=4839001959267393624' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4839001959267393624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5147096977216088439/posts/default/4839001959267393624'/><link rel='alternate' type='text/html' href='http://linpeifeng.blogspot.com/2007/02/valentines-day-evening.html' title='Valentine&apos;s Day Evening'/><author><name>Fong Lin</name><uri>http://www.blogger.com/profile/03182572595236719782</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
