/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* $Id: TextFragment.java 1619960 2014-08-23 03:50:42Z gadams $ */

package org.apache.fop.fonts;

import java.text.CharacterIterator;

Encapsulates a sub-sequence (fragement) of a text iterator (or other text source), where begin index and end index are indices into larger text iterator that denote [begin,end) of sub-sequence range. Additionally associated with a designated script (or "auto"), a designated language (or "none"), and a (single) bidi level (or -1 if not known).
/** * Encapsulates a sub-sequence (fragement) of a text iterator (or other text source), * where begin index and end index are indices into larger text iterator that denote * [begin,end) of sub-sequence range. Additionally associated with a designated script * (or "auto"), a designated language (or "none"), and a (single) bidi level (or -1 * if not known). */
public interface TextFragment {
Obtain reference to underlying iterator.
/** * Obtain reference to underlying iterator. */
CharacterIterator getIterator();
Obtain beginning index (inclusive) of sub-sequence of fragment in overall text source.
/** * Obtain beginning index (inclusive) of sub-sequence of fragment in overall text source. */
int getBeginIndex();
Obtain ending index (exclusive) of sub-sequence of fragment in overall text source.
/** * Obtain ending index (exclusive) of sub-sequence of fragment in overall text source. */
int getEndIndex();
Obtain associated script (if designated) or "auto" if not.
/** * Obtain associated script (if designated) or "auto" if not. */
String getScript();
Obtain associated language (if designated) or "none" if not.
/** * Obtain associated language (if designated) or "none" if not. */
String getLanguage();
Obtain associated bidi level (if known) or -1 if not.
/** * Obtain associated bidi level (if known) or -1 if not. */
int getBidiLevel();
Obtain character at specified index within this fragment's sub-sequence, where index 0 corresponds to beginning index in overal text source, and subSequenceIndex must be less than ending index - beginning index.
/** * Obtain character at specified index within this fragment's sub-sequence, * where index 0 corresponds to beginning index in overal text source, and * subSequenceIndex must be less than ending index - beginning index. */
char charAt(int subSequenceIndex); CharSequence subSequence(int startIndex, int endIndex); }