TM->TMW and TMW->TM conversion in RTF is now supported. I've
noticed that formatting is mostly OK but sometimes gets bungled slightly. I tried everything I could think of, and now I'm passing the buck to Java's RTF support. TMW_RTF_TO_THDL_WYLIE (now misnamed) support TMW->TM conversion (but not TM->TMW). There is an automated test case for a TMW->TM conversion. I have full confidence in this conversion. Even the smallest glitch in the core functionality (not formatting) would surprise me. Note that the JUnit test TMW_RTF_TO_THDL_WYLIETest sometimes fails due to one- or two-line diffs between the actual and expected outputs. This is because Java's RTF support is not deterministic, I'm guessing, and is not a real failure. I'm too lazy to make a more elaborate sed/diff mechanism that works on all platforms, and that would complicate the build anyway.
This commit is contained in:
parent
56d5ac7210
commit
0235263ddf
8 changed files with 416 additions and 103 deletions
|
@ -19,9 +19,13 @@ Contributor(s): ______________________________________.
|
|||
package org.thdl.tib.text;
|
||||
|
||||
/**
|
||||
* A wrapper object for a stretch of TibetanMachineWeb data that shares the same font.
|
||||
* A piece of DuffData consists of a font number and a string.
|
||||
* The font number is a number from one to ten, corresponding
|
||||
* A wrapper object for a stretch of TibetanMachineWeb (TMW) or
|
||||
* TibetanMachine (TM) data that shares the same font. A piece of
|
||||
* DuffData consists of a font number and a string. The fact that this
|
||||
* stretch is TMW vs. TM is not stored in this object; the client must
|
||||
* remember that itself.
|
||||
*
|
||||
* For TMW, the font number is a number from one to ten, corresponding
|
||||
* to the ten TibetanMachineWeb fonts, as follows:
|
||||
* <p>
|
||||
* 1 - TibetanMachineWeb<br>
|
||||
|
@ -29,9 +33,18 @@ package org.thdl.tib.text;
|
|||
* ...<br>
|
||||
* 10 - TibetanMachineWeb9<br>
|
||||
* <p>
|
||||
* The string represents a contiguous stretch of data in that
|
||||
* font, i.e. a stretch of TibetanMachineWeb that doesn't require a font change.
|
||||
*/
|
||||
* For TM, the font number is a number from one to five, corresponding
|
||||
* to the five TibetanMachineWeb fonts, as follows:
|
||||
* <p>
|
||||
* 1 - TibetanMachine<br>
|
||||
* 2 - TibetanMachineSkt1<br>
|
||||
* 3 - TibetanMachineSkt2<br>
|
||||
* 4 - TibetanMachineSkt3<br>
|
||||
* 5 - TibetanMachineSkt4<br>
|
||||
* <p>
|
||||
* The string represents a contiguous stretch of data in that font,
|
||||
* i.e. a stretch of TibetanMachineWeb or TibetanMachine that doesn't
|
||||
* require a font change. */
|
||||
public class DuffData {
|
||||
/**
|
||||
* a string of text
|
||||
|
@ -43,11 +56,24 @@ public class DuffData {
|
|||
public int font;
|
||||
|
||||
/**
|
||||
* @param s a string of TibetanMachineWeb text
|
||||
* @param i a TibetanMachineWeb font number
|
||||
* @param s a string of TibetanMachineWeb or TibetanMachine text
|
||||
* @param i a TibetanMachineWeb or TibetanMachine font number
|
||||
*/
|
||||
public DuffData(String s, int i) {
|
||||
text = s;
|
||||
font = i;
|
||||
}
|
||||
|
||||
/** Default constructor. The DuffData is invalid after this until
|
||||
you call setData or manipulate the public fields. */
|
||||
public DuffData() { }
|
||||
|
||||
/** Changes the text and font this DuffData represents.
|
||||
* @param c a character of TibetanMachineWeb or TibetanMachine text
|
||||
* @param i a TibetanMachineWeb or TibetanMachine font number
|
||||
*/
|
||||
public void setData(char c, int i) {
|
||||
text = new String(new char[] { c });
|
||||
font = i;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue