Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Some knowledge about text grid

I just checked the Office OpenXML file format and try to find the difference between the two types of text grid.
  • linesAndChars (Line and Character Grid): 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.
  • snapToChars (Character Grid Only) : 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
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.

It seems that the author of the specification doen't know the essential difference between these two types of text grid. :-)
Currently, I am investigating the Document Grid specified in CSS3 mensioned by Florian.
http://www.w3.org/TR/2003/CR-css3-text-20030514/#document-grid

a silhouette of a person's head and shoulders, used as a default avatar

Sometimes it's a strange thing with academic conferences and the publishing of the proceedings.

Sometimes it's a strange thing with academic conferences and the publishing of the proceedings. First people pay money (the conference fee) to be allowed publishing something there. Then they pay again by ordering the proceedings for their local university libraries. Finally they blame the big conference organizers that everything is so expensive but they still insist on publishing at the most expensive conferences and reading only papers submitted there because they claim that they are on the highest academic level. Aren't they actually supporting these expensive conferences that way? They could just submit their papers to cheaper conferences and thus increase the quality level there.

After all I am not that sure at all that the quality of the most expensive conferences is necessarily the best. Those conferences suffer as well from bad quality assurance during the reviewer process. Currently I have again a paper lying on my desktop where I found two mathematical errors within a very short time. One of those errors is even fundamental for the algorithm thus doing it the way it is described in the paper simply does not give useful results. I wonder why we need a review process if such fundamental errors are not caught there? It seems all the reviewers involved in the process for this papers did not really understand that part of the paper and then just accepted it because they didn't want to confess that they don't understand it.

After all this paper has good contents in general but I would have expected the reviewers either to catch these errors (at least the fundamental one) or to confess that they don't understand the content and opt-out of the review process. --- Ok, I agree that this is another dream of an ideal world...
a silhouette of a person's head and shoulders, used as a default avatar

Investigated the behavior of "Text snaps to characters grid".

Investigated the behavior of "Text snaps to characters grid".
* 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.

* 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?

Below is the screenshot from MS Word


Figure 1,Text snaps to character grid

Figure 2, Specify line and character grid

It seems that there is a special behavior for non Asian text when the text doesn't snap to the character grid.
Where can I get some clues?

a silhouette of a person's head and shoulders, used as a default avatar

Text Grid Enhancement

It is my pleasure to announce a new enhancement feature (Text Grid) in writer document. Currently I am work on this feature.

* Create a new page in openoffice wiki to ask for input. Here is the link : http://wiki.services.openoffice.org/wiki/Text_grid

* Below is the two kinds of text grid layout.







Figure1, Squared page mode


Figure2, Rectangle page mode

1) "Squared paper mode". It is used by ODF.
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.

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.

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.

2) "Rectangle paper mode". It is used by OpenXML, UOF (Chinese Office File Format) and other CJK office suites (i.e., EIOFFICE, WPS).
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.

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.

This kind of grid layout "Rectangle paper mode" is wildly used in CJK users.

* Snap to characters

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”.

This additional attribute also improve the compatibility with MS word. Below is the map of grid type between MS Word 2003 and OpenOffice

Word 2003
OpenOffice.org 2.1.0
1. No grid
A. No grid
2. Specify line grid only (Default)
B. Grid (lines only) (Default)
3. Specify line and character grid 
C. Grid (lines and characters), “snap-to-characters” is false.
4. Text snaps to character grid  
D. Grid (lines and characters), “snap-to-characters” is true.


Figure 3. No grid

Figure 4 . Grid (lines only)


Figure 5. Grid (lines and characters), “snap-to-characters” is false


Figure 6. Grid (lines and characters), “snap-to-characters” is true

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.
a silhouette of a person's head and shoulders, used as a default avatar

Valentine's Day Evening

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.
Florian help me to create it, thank Florian

a silhouette of a person's head and shoulders, used as a default avatar

Microsoft (in)compatibility

Microsoft is known for introducing incompatibilities, whenever they release any updates or new version of their software. Latest in town is Microsoft Exchange 2007, which has changed a lot from its predecessor - MS Exchange 2003. MS Exchange 2007 has replaced the FE and BE server roles with something called CAS and Mailbox roles. CAS is more than its 2000/2003 counterpart, FE, where it handles both the business logic and renders OWA UI. With this change, MS Exchange 2007 introduced a new default OWA interface called "OWA" - that defines some new interface other than webDAV interface. This has currently broken Evolution Exchange connector from operating with MS Exchange 2007 servers.

Interesting and challenging days ahead!
the avatar of James Willcox

a silhouette of a person's head and shoulders, used as a default avatar

the avatar of James Willcox

Thoughts on Sincerity

Hi Steve,

Earlier today I read your “Thoughts on Music” post. Afterwards, my initial reaction was “That’s great! You get ’em Steve!”. It’s no secret that DRM is broken by design, but it’s nice to see one of the biggest users of it say so. However, I was quickly reminded by a colleague that Apple hardly seems interested in the “everything works with everything” utopia you describe. One specific example is the iTunes music sharing feature. Soon after it was released, some smart people figured out how it worked and developed software to be compatible with it. This let people access their iTunes-shared music from devices or operating systems that didn’t have iTunes. Soon after, Apple implemented a mechanism which prevented non-iTunes clients from doing this. Why? It wasn’t because of the record companies. The music purchased on the iTunes Music Store was still protected by FairPlay, so they had no reason to complain. The only conceivable reason you’d have for doing this is to force consumers into vendor lock in. Well, it didn’t work. Some more smart people defeated your mechanism and once again people were playing their iTunes-shared music using whatever software they liked best (be it iTunes or otherwise). But that didn’t stop Apple from re-implementing a similar protection scheme again in iTunes 7. This time you even knifed some business partners in the process. This kind of behavior isn’t at all congruent with what you’re saying in your post. Have you changed your mind now? Will the next iTunes release remove this restriction? If your “Thoughts on Music” was sincere, I’d expect so.

a silhouette of a person's head and shoulders, used as a default avatar

Proxy support in Evolution

One of the key features that is expected out of any application that communicates over a network is talking over a proxy connection. Evolution has been lacking this feature for quite some time and I implemented a quick support around SLED10 release with a limitation that "Authenticated Proxy" configurations are not supported. Now, its time to do something about it and I came up with something called a Network Preferences option in Evolution that looks similar to that of gnome-network-preferences capplet. I had to take this approach as a lot of Evolution-KDE users complained proxy not working as the respective gconf entries were missing.

Following is the screenshot of the Network preferences window in Evolution:

It uses libsoup for resolving hostnames and other SOCKADDR related processing.