The uax-9 Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The uax-9 Reference Manual

This is the uax-9 Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 11:35:46 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

## About UAX-9
This is an implementation of the "Unicode Standards Annex #9"(https://www.unicod.org/reports/tr9/)'s bidirectional text algorithm. It provides a convenient way to handle text bidirectionality.

Bidirectional text occurs when text of different directionality is mixed. For instance, if arabic text, which is typically right-to-left, intersperses roman numerals, which is typically left-to-right, then the roman numerals need to be rendered in reversed order to produce the correct display order. 

The Unicode Bidirectional algorithm implemented by this library handles the reordering of such text into a canonical order that can then be used by text rendering engines to produce correctly laid out text.

Note that this algorithm does not analyse line breaking. You must provide the appropriate line breaking opportunities yourself, see "UAX-14"(https://shinmera.github.io/uax-14/). The algorithm will also not handle paragraph breaks, but instead expects you to deliver properly segmented strings for analysis.

## How To
The system will compile binary database files on first load. Should anything go wrong during this process, a note is produced on load. If you would like to prevent this automated loading, push ``uax-9-no-load`` to ``*features*`` before loading. You can then manually load the database files when convenient through ``load-databases``.

Once loaded, you can compute the line breaking levels of a string with the ``levels`` function. To use this information and produce a reordering index vector, pass its result to the ``reorder`` function. Note that when iterating through these characters, the level of the character needs to be taken into consideration, as some characters need to be mirrored when right-to-left oriented. You can detect right-to-left levels by testing whether they are odd. You can then retrieve the potentially mirrored variant of the character through ``mirror-at``.

Alternatively you can also iterate through the string directly in the correct character order (including mirroring) using ``do-in-order``. Also note that some characters will require manual mirroring in the rendering engine as no equivalent mirrored characters exist in Unicode.

## External Files
The following files were retrieved from external resources, last accessed on 4.9.2019.

- ``BidiBrackets.txt`` https://www.unicode.org/Public/UCD/latest/ucd/BidiBrackets.txt
- ``BidiCharacterTest.txt`` https://www.unicode.org/Public/UCD/latest/ucd/BidiCharacterTest.txt
- ``BidiMirroring.txt`` https://www.unicode.org/Public/UCD/latest/ucd/BidiMirroring.txt
- ``BidiTest.txt`` https://www.unicode.org/Public/UCD/latest/ucd/BidiTest.txt
- ``DerivedBidiClass.txt`` https://www.unicode.org/Public/UCD/latest/ucd/DerivedBidiClass.txt

At the time, Unicode 12.1 was considered the latest version.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 uax-9

Maintainer

Nicolas Hafner <shinmera@tymoon.eu>

Author

Nicolas Hafner <shinmera@tymoon.eu>

Home Page

https://github.com/Shinmera/uax-9

Source Control

(:git "https://github.com/shinmera/uax-9.git")

Bug Tracker

https://github.com/Shinmera/uax-9/issues

License

zlib

Description

Implementation of the Unicode Standards Annex #9’s bidirectional text algorithm

Version

1.0.0

Dependency

documentation-utils

Source

uax-9.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 uax-9.asd

Location

uax-9.asd

Systems

uax-9 (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 uax-9/package.lisp

Parent

uax-9 (system)

Location

package.lisp

Packages

org.shirakumo.alloy.uax-9


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 uax-9/database.lisp

Dependency

package.lisp (file)

Parent

uax-9 (system)

Location

database.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 uax-9/status-stack.lisp

Dependency

database.lisp (file)

Parent

uax-9 (system)

Location

status-stack.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 uax-9/isolating-run-sequence.lisp

Dependency

status-stack.lisp (file)

Parent

uax-9 (system)

Location

isolating-run-sequence.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 uax-9/uax-9.lisp

Dependency

isolating-run-sequence.lisp (file)

Parent

uax-9 (system)

Location

uax-9.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.7 uax-9/documentation.lisp

Dependency

uax-9.lisp (file)

Parent

uax-9 (system)

Location

documentation.lisp


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 org.shirakumo.alloy.uax-9

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *bidi-brackets-table-file*

Variable containing the absolute path of the brackets table file.

See LOAD-DATABASES
See COMPILE-DATABASES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Special Variable: *bidi-class-database-file*

Variable containing the absolute path of the bidi class database file.

See LOAD-DATABASES
See COMPILE-DATABASES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Special Variable: *bidi-mirroring-table-file*

Variable containing the absolute path of the mirroring table file.

See LOAD-DATABASES
See COMPILE-DATABASES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: do-in-order (CHARACTER MANUAL-MIRROR STRING &optional LEVELS INDEXES) &body BODY

Iterates over the string in bidirectional order, binding CHARACTER and MANUAL-MIRROR for each character.

This is a convenience macro around CALL-IN-ORDER.

See CALL-IN-ORDER

Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: call-in-order FUNCTION STRING &optional LEVELS INDEXES

Calls the function per character in proper order over the string.

The function must accept two arguments:

CHARACTER — The character to display.
MANUAL-MIRROR — Whether the rendering engine should draw the character mirrored.

This function will iterate over the string in the proper order to respect bidirectionality.

If indexes is not passed, it is automatically computed through REORDER on the levels. If levels is not passed, it is automatically computed through LEVELS on the string.

Note that the CHARACTER passed to the function is already mirrored if a mirrored character exists in unicode. This means you do not need to call MIRROR-AT yourself.

See LEVELS
See REORDER
See MIRROR-AT
See DO-IN-ORDER

Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: compile-databases ()

Compiles the database files from their sources.

This will load an optional part of the system and compile the database files to an efficient byte representation. If the compilation is successful, LOAD-DATABASES is called automatically.

See *BIDI-CLASS-DATABASE-FILE*
See *BIDI-BRACKETS-TABLE-FILE*
See *BIDI-CLASS-DATABASE-FILE*
See LOAD-DATABASES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: levels STRING &key BASE-DIRECTION LINE-BREAKS START END

Computes the directional level for every code point in the string.

Returns two values:

LEVELS — A vector of levels for each code point in the input string. Has the length of the input string.
BASE-DIRECTION — Returns the base direction of the string. If BASE-DIRECTION was not :AUTO, this is the determined direction.

BASE-DIRECTION must be one of three values:

:LEFT-TO-RIGHT
:RIGHT-TO-LEFT
:AUTO (default)

This designates how the text is interpreted at its base level. When this level is :AUTO, the base level is determined automatically by scanning for the first directional code point in the string.

LINE-BREAKS should be a list of indexes into the string. Each index designates a code point after which a line break is inserted. This is used to normalise the levels across breaks. If you pass this argument, you must pass the same argument to REORDER. If you do not pass this, the line end is assumed to be at the end of the string.

The values in the levels vector designate which direction the code point at this index should have. If the level is even, the direction is LEFT-TO-RIGHT; if it is odd, RIGHT-TO-LEFT. You will need this information yourself to determine whether to display code points mirrored or not when rendering their glyphs.

See REORDER
See MIRROR-AT

Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: load-databases ()

Loads the databases from their files into memory.

If one of the files is missing, a warning of type NO-DATABASE-FILES is signalled. If the loading succeeds, T is returned.

See *BIDI-CLASS-DATABASE-FILE*
See *BIDI-BRACKETS-TABLE-FILE*
See *BIDI-CLASS-DATABASE-FILE*
See NO-DATABASE-FILES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: mirror-at STRING I

Returns the mirrored character at the given position in the string.

Returns two values:

CHARACTER — The character to display. This may either be same character as was passed in, or its mirror sibling. MANUAL-MIRROR — Whether the character needs to be displayed in a mirrored way in the renderer.

If MANUAL-MIRROR is T, the returned character will be the same as the character at that point in the string. The rendering engine displaying the character must ensure that it is drawn mirrored instead.

If MANUAL-MIRROR is NIL, the returned character can be drawn in all cases to achieve the correct mirroring behaviour.

Note that you should only invoke this function to retrieve the mirror pair if the level of the character at the point is uneven and thus right-to-left.

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: reorder LEVELS &key LINE-BREAKS INDEXES

Computes a reordering of indexes into the string to process the code points in the correct order.

Returns one value, the reordered index vector, the same length as the
input LEVELS vector. The vector should be filled with indices into the
original string. Iterating through this index vector in order should
provide the correct ordering for the resulting code points when
rendering along the base direction.

LINE-BREAKS should be a list of indexes into the string. Each index
designates a code point after which a line break is inserted. This
argument must be the same as what you passed to LEVELS to get the
levels vector.

INDEXES is the index vector that’s permuted and returned. You can pass
this to save on allocation. If not passed, a vector the length of the
levels vector is created. If passed, you should make sure that the
indices in the vector make sense – meaning they should typically be
in ascending order starting with 0.

See LEVELS

Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Conditions

Condition: no-database-files ()

Warning signalled when LOAD-DATABASES is called and the files are not present.

Two restarts must be active when this condition is signalled:

COMPILE — Call COMPILE-DATABASES
ABORT — Abort loading the databases, leaving them at their
previous state.

See LOAD-DATABASES

Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Direct superclasses

warning (condition)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Types

Type: levels ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: max-depth
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Constant: max-pairing-depth
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *here*
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: defglobal NAME VALUE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Compiler macros

Compiler Macro: class-id CLASS
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Compiler Macro: class-ids &rest CLASSES
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Compiler Macro: class<= LEFT CLASS RIGHT
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Compiler Macro: class= CLASS EXPECTED
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Functions

Function: apply-levels-and-types SEQ RESULT-TYPES RESULT-LEVELS
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: assign-levels-to-characters-removed-by-x9 STRING LEVEL RESULT-TYPES RESULT-LEVELS
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: bidi-class ID
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: bidi-string-p STRING
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: bracket-sibling ID
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: bracket-sibling-at STRING I
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: bracket-type ID
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: bracket-type-at STRING I
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: class-at STRING I
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: class-before-pair TYPES SOS PAIR
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: class-id CLASS
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: class-ids &rest CLASSES
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: class<= LEFT CLASS RIGHT
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: class= CLASS EXPECTED
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: classify-pair-content TYPES PAIR DIR-EMBED
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: code-at STRING I
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: compute-reordering LEVELS RESULT &optional OFF LEN
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: determine-explicit-embedding-levels PARAGRAPH-LEVEL CLASSES MATCHING-PDIS
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: determine-isolating-run-sequences STRING LEVEL RESULT-TYPES RESULT-LEVELS MATCHING-PDIS MATCHING-INITIATOR
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: determine-level-runs STRING RESULT-LEVELS
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: determine-matching-isolates CLASSES
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: determine-paragraph-embedding-level CLASSES MATCHING-PDIS START END
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: empty-stack STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: find-run-limit SEQ START END VALID-P
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: index-array-reverse ARR OFF LEN
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: last-isolate STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: last-level STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: last-override STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: load-bidi-brackets-table &optional SOURCE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: load-bidi-class-database &optional SOURCE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: load-bidi-mirroring-table &optional SOURCE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: make-class-array STRING
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: make-isolating-run-sequence INDEXES STRING PARAGRAPH-LEVEL RESULT-TYPES RESULT-LEVELS
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: make-reorder-array LENGTH
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: make-seq INDICES TYPES LEVELS LEVEL SOS EOS
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: make-status-stack ()
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: mirror ID
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: neutral-type-p TYPE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: normalize-strong-type-n0 CODE
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: pop-status STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: push-status LEVEL OVERRIDE ISOLATE STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: read-u32le STREAM
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: removed-by-x9-p CLASS
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: resolve-implicit-levels SEQ
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: resolve-neutral-types SEQ
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: resolve-paired-brackets SEQ STRING
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: resolve-weak-types SEQ
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: run-algorithm STRING LEVEL
Package

org.shirakumo.alloy.uax-9

Source

uax-9.lisp (file)

Function: seq-eos INSTANCE
Function: (setf seq-eos) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-indices INSTANCE
Function: (setf seq-indices) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-level INSTANCE
Function: (setf seq-level) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-levels INSTANCE
Function: (setf seq-levels) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-p OBJECT
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-sos INSTANCE
Function: (setf seq-sos) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: seq-types INSTANCE
Function: (setf seq-types) VALUE INSTANCE
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: set-brackets-to-type STRING INDICES TYPES PAIR DIR
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Function: stack-depth STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: stack-empty-p STACK
Package

org.shirakumo.alloy.uax-9

Source

status-stack.lisp (file)

Function: type-for-level LEVEL
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Function: whitespace-p CLASS
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Structures

Structure: seq ()
Package

org.shirakumo.alloy.uax-9

Source

isolating-run-sequence.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: indices
Type

(simple-array org.shirakumo.alloy.uax-9::idx (*))

Readers

seq-indices (function)

Writers

(setf seq-indices) (function)

Slot: types
Type

(simple-array (unsigned-byte 8) (*))

Readers

seq-types (function)

Writers

(setf seq-types) (function)

Slot: levels
Type

(simple-array (unsigned-byte 8) (*))

Readers

seq-levels (function)

Writers

(setf seq-levels) (function)

Slot: level
Type

(unsigned-byte 8)

Initform

0

Readers

seq-level (function)

Writers

(setf seq-level) (function)

Slot: sos
Type

(unsigned-byte 8)

Initform

0

Readers

seq-sos (function)

Writers

(setf seq-sos) (function)

Slot: eos
Type

(unsigned-byte 8)

Initform

0

Readers

seq-eos (function)

Writers

(setf seq-eos) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.7 Types

Type: class ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Type: classes ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Type: code ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Type: idx ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Type: level ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)

Type: stack ()
Package

org.shirakumo.alloy.uax-9

Source

database.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   U  
Index Entry  Section

F
File, Lisp, uax-9.asd: The uax-9․asd file
File, Lisp, uax-9/database.lisp: The uax-9/database․lisp file
File, Lisp, uax-9/documentation.lisp: The uax-9/documentation․lisp file
File, Lisp, uax-9/isolating-run-sequence.lisp: The uax-9/isolating-run-sequence․lisp file
File, Lisp, uax-9/package.lisp: The uax-9/package․lisp file
File, Lisp, uax-9/status-stack.lisp: The uax-9/status-stack․lisp file
File, Lisp, uax-9/uax-9.lisp: The uax-9/uax-9․lisp file

L
Lisp File, uax-9.asd: The uax-9․asd file
Lisp File, uax-9/database.lisp: The uax-9/database․lisp file
Lisp File, uax-9/documentation.lisp: The uax-9/documentation․lisp file
Lisp File, uax-9/isolating-run-sequence.lisp: The uax-9/isolating-run-sequence․lisp file
Lisp File, uax-9/package.lisp: The uax-9/package․lisp file
Lisp File, uax-9/status-stack.lisp: The uax-9/status-stack․lisp file
Lisp File, uax-9/uax-9.lisp: The uax-9/uax-9․lisp file

U
uax-9.asd: The uax-9․asd file
uax-9/database.lisp: The uax-9/database․lisp file
uax-9/documentation.lisp: The uax-9/documentation․lisp file
uax-9/isolating-run-sequence.lisp: The uax-9/isolating-run-sequence․lisp file
uax-9/package.lisp: The uax-9/package․lisp file
uax-9/status-stack.lisp: The uax-9/status-stack․lisp file
uax-9/uax-9.lisp: The uax-9/uax-9․lisp file

Jump to:   F   L   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   E   F   I   L   M   N   P   R   S   T   W  
Index Entry  Section

(
(setf seq-eos): Internal functions
(setf seq-indices): Internal functions
(setf seq-level): Internal functions
(setf seq-levels): Internal functions
(setf seq-sos): Internal functions
(setf seq-types): Internal functions

A
apply-levels-and-types: Internal functions
assign-levels-to-characters-removed-by-x9: Internal functions

B
bidi-class: Internal functions
bidi-string-p: Internal functions
bracket-sibling: Internal functions
bracket-sibling-at: Internal functions
bracket-type: Internal functions
bracket-type-at: Internal functions

C
call-in-order: Exported functions
class-at: Internal functions
class-before-pair: Internal functions
class-id: Internal compiler macros
class-id: Internal functions
class-ids: Internal compiler macros
class-ids: Internal functions
class<=: Internal compiler macros
class<=: Internal functions
class=: Internal compiler macros
class=: Internal functions
classify-pair-content: Internal functions
code-at: Internal functions
compile-databases: Exported functions
Compiler Macro, class-id: Internal compiler macros
Compiler Macro, class-ids: Internal compiler macros
Compiler Macro, class<=: Internal compiler macros
Compiler Macro, class=: Internal compiler macros
compute-reordering: Internal functions

D
defglobal: Internal macros
determine-explicit-embedding-levels: Internal functions
determine-isolating-run-sequences: Internal functions
determine-level-runs: Internal functions
determine-matching-isolates: Internal functions
determine-paragraph-embedding-level: Internal functions
do-in-order: Exported macros

E
empty-stack: Internal functions

F
find-run-limit: Internal functions
Function, (setf seq-eos): Internal functions
Function, (setf seq-indices): Internal functions
Function, (setf seq-level): Internal functions
Function, (setf seq-levels): Internal functions
Function, (setf seq-sos): Internal functions
Function, (setf seq-types): Internal functions
Function, apply-levels-and-types: Internal functions
Function, assign-levels-to-characters-removed-by-x9: Internal functions
Function, bidi-class: Internal functions
Function, bidi-string-p: Internal functions
Function, bracket-sibling: Internal functions
Function, bracket-sibling-at: Internal functions
Function, bracket-type: Internal functions
Function, bracket-type-at: Internal functions
Function, call-in-order: Exported functions
Function, class-at: Internal functions
Function, class-before-pair: Internal functions
Function, class-id: Internal functions
Function, class-ids: Internal functions
Function, class<=: Internal functions
Function, class=: Internal functions
Function, classify-pair-content: Internal functions
Function, code-at: Internal functions
Function, compile-databases: Exported functions
Function, compute-reordering: Internal functions
Function, determine-explicit-embedding-levels: Internal functions
Function, determine-isolating-run-sequences: Internal functions
Function, determine-level-runs: Internal functions
Function, determine-matching-isolates: Internal functions
Function, determine-paragraph-embedding-level: Internal functions
Function, empty-stack: Internal functions
Function, find-run-limit: Internal functions
Function, index-array-reverse: Internal functions
Function, last-isolate: Internal functions
Function, last-level: Internal functions
Function, last-override: Internal functions
Function, levels: Exported functions
Function, load-bidi-brackets-table: Internal functions
Function, load-bidi-class-database: Internal functions
Function, load-bidi-mirroring-table: Internal functions
Function, load-databases: Exported functions
Function, make-class-array: Internal functions
Function, make-isolating-run-sequence: Internal functions
Function, make-reorder-array: Internal functions
Function, make-seq: Internal functions
Function, make-status-stack: Internal functions
Function, mirror: Internal functions
Function, mirror-at: Exported functions
Function, neutral-type-p: Internal functions
Function, normalize-strong-type-n0: Internal functions
Function, pop-status: Internal functions
Function, push-status: Internal functions
Function, read-u32le: Internal functions
Function, removed-by-x9-p: Internal functions
Function, reorder: Exported functions
Function, resolve-implicit-levels: Internal functions
Function, resolve-neutral-types: Internal functions
Function, resolve-paired-brackets: Internal functions
Function, resolve-weak-types: Internal functions
Function, run-algorithm: Internal functions
Function, seq-eos: Internal functions
Function, seq-indices: Internal functions
Function, seq-level: Internal functions
Function, seq-levels: Internal functions
Function, seq-p: Internal functions
Function, seq-sos: Internal functions
Function, seq-types: Internal functions
Function, set-brackets-to-type: Internal functions
Function, stack-depth: Internal functions
Function, stack-empty-p: Internal functions
Function, type-for-level: Internal functions
Function, whitespace-p: Internal functions

I
index-array-reverse: Internal functions

L
last-isolate: Internal functions
last-level: Internal functions
last-override: Internal functions
levels: Exported functions
load-bidi-brackets-table: Internal functions
load-bidi-class-database: Internal functions
load-bidi-mirroring-table: Internal functions
load-databases: Exported functions

M
Macro, defglobal: Internal macros
Macro, do-in-order: Exported macros
make-class-array: Internal functions
make-isolating-run-sequence: Internal functions
make-reorder-array: Internal functions
make-seq: Internal functions
make-status-stack: Internal functions
mirror: Internal functions
mirror-at: Exported functions

N
neutral-type-p: Internal functions
normalize-strong-type-n0: Internal functions

P
pop-status: Internal functions
push-status: Internal functions

R
read-u32le: Internal functions
removed-by-x9-p: Internal functions
reorder: Exported functions
resolve-implicit-levels: Internal functions
resolve-neutral-types: Internal functions
resolve-paired-brackets: Internal functions
resolve-weak-types: Internal functions
run-algorithm: Internal functions

S
seq-eos: Internal functions
seq-indices: Internal functions
seq-level: Internal functions
seq-levels: Internal functions
seq-p: Internal functions
seq-sos: Internal functions
seq-types: Internal functions
set-brackets-to-type: Internal functions
stack-depth: Internal functions
stack-empty-p: Internal functions

T
type-for-level: Internal functions

W
whitespace-p: Internal functions

Jump to:   (  
A   B   C   D   E   F   I   L   M   N   P   R   S   T   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
C   E   I   L   M   S   T  
Index Entry  Section

*
*bidi-brackets-table-file*: Exported special variables
*bidi-class-database-file*: Exported special variables
*bidi-mirroring-table-file*: Exported special variables
*here*: Internal special variables

C
Constant, max-depth: Internal constants
Constant, max-pairing-depth: Internal constants

E
eos: Internal structures

I
indices: Internal structures

L
level: Internal structures
levels: Internal structures

M
max-depth: Internal constants
max-pairing-depth: Internal constants

S
Slot, eos: Internal structures
Slot, indices: Internal structures
Slot, level: Internal structures
Slot, levels: Internal structures
Slot, sos: Internal structures
Slot, types: Internal structures
sos: Internal structures
Special Variable, *bidi-brackets-table-file*: Exported special variables
Special Variable, *bidi-class-database-file*: Exported special variables
Special Variable, *bidi-mirroring-table-file*: Exported special variables
Special Variable, *here*: Internal special variables

T
types: Internal structures

Jump to:   *  
C   E   I   L   M   S   T  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   I   L   N   O   P   S   T   U  
Index Entry  Section

C
class: Internal types
classes: Internal types
code: Internal types
Condition, no-database-files: Exported conditions

I
idx: Internal types

L
level: Internal types
levels: Exported types

N
no-database-files: Exported conditions

O
org.shirakumo.alloy.uax-9: The org․shirakumo․alloy․uax-9 package

P
Package, org.shirakumo.alloy.uax-9: The org․shirakumo․alloy․uax-9 package

S
seq: Internal structures
stack: Internal types
Structure, seq: Internal structures
System, uax-9: The uax-9 system

T
Type, class: Internal types
Type, classes: Internal types
Type, code: Internal types
Type, idx: Internal types
Type, level: Internal types
Type, levels: Exported types
Type, stack: Internal types

U
uax-9: The uax-9 system

Jump to:   C   I   L   N   O   P   S   T   U