62 lines
2 KiB
Java
62 lines
2 KiB
Java
|
/*
|
||
|
The contents of this file are subject to the THDL Open Community License
|
||
|
Version 1.0 (the "License"); you may not use this file except in compliance
|
||
|
with the License. You may obtain a copy of the License on the THDL web site
|
||
|
(http://www.thdl.org/).
|
||
|
|
||
|
Software distributed under the License is distributed on an "AS IS" basis,
|
||
|
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||
|
License for the specific terms governing rights and limitations under the
|
||
|
License.
|
||
|
|
||
|
The Initial Developer of this software is the Tibetan and Himalayan Digital
|
||
|
Library (THDL). Portions created by the THDL are Copyright 2004 THDL.
|
||
|
All Rights Reserved.
|
||
|
|
||
|
Contributor(s): ______________________________________.
|
||
|
*/
|
||
|
|
||
|
package org.thdl.tib.text;
|
||
|
|
||
|
import java.util.Vector;
|
||
|
|
||
|
/**
|
||
|
* A stretch of Roman transliteration all in a certain font size.
|
||
|
*
|
||
|
* @author David Chandler */
|
||
|
class TranslitTuple {
|
||
|
private final StringBuffer sb;
|
||
|
private final int sz;
|
||
|
|
||
|
/** Creates a TranslitTuple representing the transliteration s,
|
||
|
which has font size sz. */
|
||
|
public TranslitTuple(String s, int sz) {
|
||
|
this.sb = new StringBuffer(s);
|
||
|
this.sz = sz;
|
||
|
// FIXME: assert(s.length() > 0);
|
||
|
}
|
||
|
|
||
|
/** Appends the transliteration s to this tuple and returns this
|
||
|
tuple if sz, the font size for s, is the same as this tuple's
|
||
|
font size. Returns a new tuple for s otherwise. */
|
||
|
public TranslitTuple getPossiblyCombinedTranslitTuple(String s, int sz) {
|
||
|
if (this.sz == sz) {
|
||
|
sb.append(s);
|
||
|
return this;
|
||
|
} else {
|
||
|
return new TranslitTuple(s, sz);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/** Returns the stretch of Roman transliteration. */
|
||
|
public String getTranslit() { return sb.toString(); }
|
||
|
|
||
|
/** Returns the font size of the Roman transliteration. */
|
||
|
public int getFontSize() { return sz; }
|
||
|
|
||
|
/** Do not call this -- it throws an error. */
|
||
|
public String toString() {
|
||
|
throw new Error("There was a bug where this was called, so don't call this.");
|
||
|
}
|
||
|
}
|