/*
* 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$ */
package org.apache.fop.complexscripts.bidi;
Constants used for bidirectional processing.
This work was originally authored by Glenn Adams (gadams@apache.org).
/**
* <p>Constants used for bidirectional processing.</p>
*
* <p>This work was originally authored by Glenn Adams (gadams@apache.org).</p>
*/
public interface BidiConstants {
// bidi character class
first external (official) category /** first external (official) category */
int FIRST = 1;
// strong category
left-to-right class /** left-to-right class */
int L = 1;
left-to-right embedding class /** left-to-right embedding class */
int LRE = 2;
left-to-right override class /** left-to-right override class */
int LRO = 3;
right-to-left class /** right-to-left class */
int R = 4;
right-to-left arabic class /** right-to-left arabic class */
int AL = 5;
right-to-left embedding class /** right-to-left embedding class */
int RLE = 6;
right-to-left override class /** right-to-left override class */
int RLO = 7;
// weak category
pop directional formatting class /** pop directional formatting class */
int PDF = 8;
european number class /** european number class */
int EN = 9;
european number separator class /** european number separator class */
int ES = 10;
european number terminator class /** european number terminator class */
int ET = 11;
arabic number class /** arabic number class */
int AN = 12;
common number separator class /** common number separator class */
int CS = 13;
non-spacing mark class /** non-spacing mark class */
int NSM = 14;
boundary neutral class /** boundary neutral class */
int BN = 15;
// neutral category
paragraph separator class /** paragraph separator class */
int B = 16;
segment separator class /** segment separator class */
int S = 17;
whitespace class /** whitespace class */
int WS = 18;
other neutrals class /** other neutrals class */
int ON = 19;
last external (official) category /** last external (official) category */
int LAST = 19;
// implementation specific categories
placeholder for low surrogate /** placeholder for low surrogate */
int SURROGATE = 20;
// other constants
last
/** maximum bidirectional levels /** last
/** maximum bidirectional levels */
int MAX_LEVELS = 61;
override flag /** override flag */
int OVERRIDE = 128;
}