|
This description applies to HLASM.
- CUN4BDPR_Version - set by caller
- Specifies the version of the parameter area. Use version 1.
- CUN4BDPR_Length - set by caller
- Specifies the length of the parameter area, in bytes. Use constant
CUN4BDPR_Len.
- CUN4BDPR_InFlags - set by caller (except for CUN4BDPR_From_wtransform)
Bit position |
Name |
---|
1xxx xxxx
|
CUN4BDPR_XOpen_Defaults |
x1xx xxxx
|
CUN4BDPR_KBS_Defaults |
xx1x xxxx
|
CUN4BDPR_Keyword |
xxx1 xxxx
|
CUN4BDPR_From_wtransform |
- CUN4BDPR_XOpen_Defaults - set by caller
- Specifies whether or not to use default settings for the X/Open
portable layout options. Possible values are:
- 0: Do not use default settings for the X/Open portable
layout options.
- 1: Use default settings for the X/Open portable layout
options.
Note: The settings defined in the short-form keyword CUN4BDPR_Bidi_Keyword
have higher priority over the defaults. The attributes specified in
the bidi keyword will overlay the default attributes.
- CUN4BDPR_KBS_Defaults - set by caller
- Specifies whether or not to use default settings from the
Unicode Services knowledge base to set the X/Open portable layout
options. Possible values are:
- 0: Do not use default settings from the Unicode Services
knowledge base to set the X/Open portable layout options.
- 1: Use default settings from the Unicode Services knowledge
base to set the X/Open portable layout options.
Note: This flag is ignored if CUN4BDPR_XOpen_Defaults is ON.
If CUN4BDPR_XOpen_Defaults is OFF and CUN4BDPR_KBS_Defaults is ON,
the defaults defined in the Unicode Services knowledge base will be
used. The bidi string types and associated attributes defined in the
knowledge base are based on the input or output CCSID. The settings
defined in the short-form keyword CUN4BDPR_Bidi_Keyword have higher
priority over the default attributes.
- CUN4BDPR_Keyword - set by caller
- Specifies whether or not to use the short form keyword to set
the X/Open portable layout options. Possible values are:
- 0: Do not use the short form keyword to set the X/Open
portable layout options.
- 1: Use the short form keyword to set the X/Open portable
layout options.
Note: This flag must be set to ON when the CUN4BDPR_Bidi_Keyword
is used.
- CUN4BDPR_From_wtransform - set by service
- This flag is reserved for internal Unicode Services use. It should
not be set by the caller.
- CUN4BDPR_Layout_Options - set by caller
Bit position |
Name |
---|
1xxx xxxx
|
CUN4BDPR_Layout_Roundtrip |
x1xx xxxx
|
CUN4BDPR_Layout_WinCompat |
xx1x xxxx
|
CUN4BDPR_Layout_ImpToImp |
xxx1 xxxx
|
CUN4BDPR_Layout_Remove_Marks |
xxxx 1xxx
|
CUN4BDPR_Layout_Insert_Marks |
xxxx x1xx
|
CUN4BDPR_Layout_Streaming |
- CUN4BDPR_Layout_Roundtrip - set by caller
- Specifies if numbers located between LTR text and RTL text
are associated with the RTL text. This makes the algorithm reversible
and makes it useful when round trip (from visual to logical and back
to visual) must be achieved without adding LRM characters. However,
this is a variation from the standard Unicode bidi algorithm. Possible
values are:
- 0: Numbers are not associated with the RTL text.
- 1: Numbers are associated with the RTL text.
- CUN4BDPR_Layout_WinCompat - set by caller
- Specifies if the algorithm used to perform bidi transformations
should approximate the algorithm used in Microsoft Windows XP, rather
than strictly conform to the Unicode bidi algorithm. Possible values
are:
- 0: Do not approximate the Microsoft algorithm.
- 1: Approximate the Microsoft algorithm.
- CUN4BDPR_Layout_ImpToImp - set by caller
- Specifies if a logical to logical transformation is to be performed:
- If the source orientation is LTR, the source text will be handled
as LTR logical text and will be transformed to the RTL logical text
which has the same LTR visual display.
- If the source orientation is RTL, the source text will be handled
as RTL logical text and will be transformed to the LTR logical text
which has the same LTR visual display.
This mode may be needed when logical text, which is basically
Arabic or Hebrew, with possible included numbers or phrases in English,
has to be displayed as if it had LTR orientation. This can happen
if the displaying application treats all text as if it was basically
LTR. This mode may also be needed in the reverse case, when logical
text which is basically English, with possible included phrases in
Arabic or Hebrew, has to be displayed as if it had RTL orientation.
The problem may be handled by transforming the source text with this
option before displaying it, so that it will be displayed properly.
Possible values are:- 0: Logical to logical transformation is not to be performed.
- 1: Logical to logical transformation is to be performed.
- CUN4BDPR_Layout_Remove_Marks - set by caller
- Specifies if all bidi marks (LRM or RLM) will be removed from
the output text when performing a transformation. Possible values
are:
- 0: Bidi marks are not to be removed from the output text.
- 1: Bidi marks are to be removed from the output text. The
corresponding entries in the InpToOut map are set equal to the maximum
value. This option should not be specified together with option Layout_Insert_Marks,
and it overrides it.
- CUN4BDPR_Layout_Insert_Marks - set by caller
- Specifies if bidi marks (LRM or RLM) are to be inserted when needed
to ensure correct results when reordering to an implicit order. This
option is meaningful only when performing a transformation from visually
ordered to implicitly ordered text. Possible values are:
- 0: Do not insert bidi marks.
- 1: Insert bidi marks. A minimum number of LRM or RLM characters
will be added to the source text after reordering it so as to ensure
round trip. For example, when applying the inverse transformation
on the resulting implicit text with removal of bidi marks (option
Layout_Remove_Marks), the result will be identical to the source text
in the first transformation. The LRM and RLM characters, which are
added in the output text, have no matching character in the source
text. The corresponding entries in the OutToInp map are set equal
to the maximum value.
Set by caller. Ignored if specified together with CUN4BDPR_Layout_Remove_Marks.
- CUN4BDPR_Layout_Streaming - set by caller
- Specifies if the caller is interested in using layout streaming.
Layout streaming processes large text objects into parts using the
piece by piece technique. The results of the successive calls are
expected to be concatenated by the caller. Only the call for the last
part will have this option bit off. Possible values are:
- 0: Do not use layout streaming.
- 1: Attempt to use layout streaming. The transform operation
may process less than the full source text in order to truncate the
text at a meaningful boundary. The caller must read the value in CUN4BDPR_Streaming_Processed_Length
immediately after performing the transform in order to determine how
much of the source text has been processed. Source text beyond that
length should be resubmitted in following transform operations. If
the last character of the source text constitutes a reasonable boundary,
the whole text will be processed at once. If no where in the source
text there exists such a reasonable boundary, the processed length
will be zero. The caller should check for such an occurrence and do
one of the following:
- Submit a larger amount of text with a better chance to include
a reasonable boundary.
- Resubmit the same text after turning off this option.
In all cases, this option should be turned off before processing
the last part of the text. Using Layout_Streaming also requires
setting the Layout_Streaming_State field.
- CUN4BDPR_OutFlags - set by service
Bit position |
Name |
---|
1xxx xxxx xxxx xxxx
|
CUN4BDPR_ActiveDirectional |
x1xx xxxx xxxx xxxx
|
CUN4BDPR_ActiveShapeEditing |
- CUN4BDPR_ActiveDirectional - set by service
- Specifies if the bidi transformation included knowledge of directional
code elements and proper rendering of text implies reordering of directional
code elements.
- 0: The bidi transformation does not include knowledge of
directional elements.
- 1: The bidi transformation includes knowledge of directional
elements.
- CUN4BDPR_ActiveShapeEditing - set by service
- Specifies if the bidi transformation included knowledge of context-dependent
code elements that require shaping for presentation to the target
CCSID. If so, the caller must perform some shaping transformation
prior to rendering the text.
- 0: The bidi transformation does not require shape editing.
- 1: The bidi transformation requires shape editing.
- CUN4BDPR_Orientation_Src - set by caller
- CUN4BDPR_Orientation_Targ - set by caller
- Specifies the global directional text orientation. Possible values
are:
- ORIENTATION_LTR: Left-to-right horizontal rows that progress
from top to bottom.
- ORIENTATION_RTL: Right-to-left horizontal rows that progress
from top to bottom.
- ORIENTATION_TTBRL: Top-to-bottom vertical columns that
progress from right to left.
- ORIENTATION_TTBLR: Top-to-bottom vertical columns that
progress from left to right.
- ORIENTATION_CONTEXTUAL: The global orientation is set according
to the direction of the first significant (strong) character.
If there are no strong characters in the text and the descriptor
is set to this value, the global orientation of the text is set according
to the value of the CUN4BDPR_Context. This option is meaningful only
for bidirectional text.The default is ORIENTATION_LTR.
- CUN4BDPR_Context_Src - set by caller
- CUN4BDPR_Context_Targ - set by caller
- Specifies what orientation is used when no strong character appears
in the text. This is meaningful only if the corresponding CUN4BDPR_Orientation
parameter is set to ORIENTATION_CONTEXTUAL. Possible values are:
- CONTEXT_LTR: In the absence of characters with strong directionality
in the text, orientation is assumed to be left-to-right rows progressing
from top to bottom.
- CONTEXT_RTL: In the absence of characters with strong directionality
in the text, orientation is assumed to be right-to-left rows progressing
from top to bottom.
The default is CONTEXT_LTR.
- CUN4BDPR_TypeOfText_Src - set by caller
- CUN4BDPR_TypeOfText_Targ - set by caller
- Specifies the ordering of the directional text. Characters may
have a natural orientation attached to them as described by CUN4BDPR_Orientation.
Possible values are:
- TEXT_VISUAL: Code elements are stored in visually ordered
segments, which can be rendered without any segment inversion. Practically
the whole text could be seen as if there were no sub segments.
- TEXT_IMPLICIT: Code elements are stored in logically ordered
segments. Logically ordered means that the order in which the characters
are stored is the same as the order in which the characters are pronounced
when reading the presented text or the order in which characters would
be entered from a keyboard. Logical order (or logical sequence) of
characters is necessary for processing purposes; for example, when
there is a need to sort or index the data. Segments of reversed orientation
are recognized and inverted by a content-sensitive algorithm based
on the natural orientation of characters. Because there are several
possible algorithms for implicit reordering of directional segments,
the ImplicitAlg value is used when TypeOfText is set to TEXT_IMPLICIT,
to indicate the actual algorithm used.
- TEXT_EXPLICIT: Code elements are stored in logically ordered
segments with a set of embedded controls. The explicit algorithm eliminates
the ambiguities that might exist in some situations when using an
implicit algorithm, but it introduces the need for additional control
characters in the data stream. The set of embedded controls for TEXT_EXPLICIT
is implementation defined.
The default (for the C locale) is TEXT_IMPLICIT.
- CUN4BDPR_ImplicitAlg_Src - set by caller
- CUN4BDPR_ImplicitAlg_Targ - set by caller
- Specifies the type of bidirectional implicit algorithm used in
reordering and shaping of directional or context-dependent text. Possible
values are:
- ALGOR_IMPLICIT: Directional code elements will be reordered
using an implementation-defined implicit directional algorithm when
converting to or from an implicit form.
Although the basic algorithm
used when ImplicitAlg is set to ALGOR_BASIC, is an implicit algorithm,
the fact that it recognizes some control characters, allows it to
be used even when the TypeOfText descriptor is set to TEXT_EXPLICIT.
Note: When
TEXT_EXPLICIT is used in conjunction with ALGOR_BASIC, the controls
may temporarily change the values of swapping, numerals and TextShaping.
The ALGOR_IMPLICIT value may be equal to ALGOR_BASIC for a given implementation.
Except in this case, it is not meaningful to have TypeOfText=TEXT_EXPLICIT
at the same time as ImplicitAlg=ALGOR_IMPLICIT
- ALGOR_BASIC: The basic algorithm is used.
The default (for the C locale) is ALGOR_IMPLICIT.
- CUN4BDPR_Swapping_Src - set by caller
- CUN4BDPR_Swapping_Targ - set by caller
- Specifies whether symmetric swapping is applied to the text. A
list of symmetric swapping characters is given in the ISO/IEC 10646
standard. Possible values are:
- SWAPPING_YES: The text conforms to symmetric swapping.
- SWAPPING_NO: The text does not conform to symmetric swapping.
The default (for the C locale) is SWAPPING_NO.
- CUN4BDPR_Numerals_Src - set by caller
- CUN4BDPR_Numerals_Targ - set by caller
- Specifies the shaping of numerals. Possible values are:
- NUMERALS_NOMINAL: Nominal shaping of numerals using the
portable character set (Arabic numerals).
- NUMERALS_NATIONAL: National shaping of numerals based on
the script of the C locale.
- NUMERALS_CONTEXTUAL: Contextual shaping of numerals depending
on the context (script) of surrounding text (such as Hindi numbers
in Arabic text and Arabic numbers otherwise).
The default (for the C locale) is NUMERALS_NOMINAL.
- CUN4BDPR_TextShaping_Src - set by caller
- CUN4BDPR_TextShaping_Targ - set by caller
- Specifies the shaping; that is, choosing (or composing) the correct
shape of the text. Possible values are:
- TEXT_SHAPED: The text has presentation form shapes.
- TEXT_NOMINAL: The text is in basic form.
- TEXT_SHFORM1: The text is in shape form 1.
- TEXT_SHFORM2: The text is in shape form 2.
- TEXT_SHFORM3: The text is in shape form 3.
- TEXT_SHFORM4: The text is in shape form 4.
The set of shaping characters is limited to the CUN4BDPR_Targ_CCSID
specified.The default (for the C locale) is TEXT_SHAPED.
The
term 'shape form n' is used to mean: - Arabic Script
- Shape form 1: Initial form.
- Shape form 2: Middle form.
- Shape form 3: Final form.
- Shape form 4: Isolated form.
- CUN4BDPR_ShapeCharsetSize - set by service
- Specifies the size, in bytes, of the encoding of characters in
the CUN4BDPR_Targ_CCSID.
- CUN4BDPR_ShapeContextSize_Front - set by service
- CUN4BDPR_ShapeContextSize_Back - set by service
- Specifies the size of the context, in number of code elements,
that must be accounted for when performing active shape editing.
- CUN4BDPR_CheckMode - set by caller
- Indicates the level of checking of the elements in the source
buffer for shaping and reordering purposes. It also defines the behavior
of the implicit algorithm with respect to standalone neutral characters
(until stabilized by a new strong character). Possible values are:
- MODE_STREAM: The string in the source buffer is expected
to have valid combinations of characters or character elements. No
validation is needed before shaping or combined character cell determination.
The only thing validated before the transformation is the current
state of the layout object based on previous input data.
The reordering
of bidirectional text will assign the nesting level of an unstabilized
neutral character such that it follows the level of the previous strong
character.
It is guaranteed that each shape associated with
a composite sequence will occupy a single display cell.
- MODE_EDIT: The shaping of input text may vary depending
on locale-specific validation or assumptions.
The reordering of
bidirectional text will assign the nesting level of an unstabilized
neutral character such that it follows the level of the global orientation.
Not
all code elements of a composite sequence may be assumed to occupy
a single display cell.
The default (for the C locale) is MODE_STREAM.
- CUN4BDPR_ArabicOneCellShaping_Src - set by caller
- CUN4BDPR_ArabicOneCellShaping_Targ - set by caller
- Specifies which Arabic one-cell shaping transformations are performed.
One-cell shaping refers to the final forms of the seen family.
The
effect of this parameter depends on the setting of the TypeOfText
parameter. Combinations are: - ArabicOneCellShaping_Src is TWOCELL_SEEN, and ArabicOneCellShaping_Targ
is ONECELL_SEEN, and TypeOfText_Src is TEXT_VISUAL, and TypeOfText_Targ
is logical: Transformation from visual to logical converts final
forms of the seen family represented by two characters (the three
quarters shape and the tail character) to corresponding nominal code
points represented by one character and a space replacing the tail.
This space is positioned next to the seen character.
- ArabicOneCellShaping_Src is ONECELL_SEEN, and ArabicOneCellShaping_Targ
is TWOCELL_SEEN, and TypeOfText_Src is logical, and TypeOfText_Targ
is TEXT_VISUAL: In transformation from logical to visual, each
character in the seen family which is to receive a final form is converted
to the corresponding final form of the seen family that is represented
by two characters, consuming an existing space next to the seen character.
If there is no space available, it will be converted to one character
only which is the three quarters shape seen.
- Other settings: Seen tail characters remain as is.
- CUN4BDPR_WordBreak_Src - set by caller
- CUN4BDPR_WordBreak_Targ - set by caller
- Specifies if the service is to transform each word in isolation
from adjacent words based on whitespace delimiters.
Combinations
are: - WordBreak_Src is NO_BREAK, and WordBreak_Targ is BREAK:
Transform each word in isolation from adjacent words based on whitespace
delimiters.
- Other settings: Do not transform each word in isolation
from adjacent words based on whitespace delimiters.
- CUN4BDPR_LamAlefEditMode_Src - set by caller
- CUN4BDPR_LamAlefEditMode_Targ - set by caller
- Specifies which Lam-Alef edit mode transformations are performed.
Combinations
are: - LamAlefEditMode_Src is LamAlefOff, and LamAlefEditMode_Targ
is LamAlefOff:
- When transforming from visual to logical layouts, Lam-Alef characters
are expanded to Lam plus Alef consuming an existing blank space next
to it. If no blank space is available, the Lam-Alef character remains
as is.
- When transforming from logical to visual layouts, Lam plus Alef
sequences are compressed to a unique Lam-Alef character; the space
resulting from the Lam-Alef compression is positioned next to each
generated Lam-Alef character.
- LamAlefEditMode_Src is LamAlefOff, and LamAlefEditMode_Targ
is LamAlefOn:
- When transforming from visual to implicit layouts, Lam-Alef characters
are expanded to Lam plus Alef consuming a blank space at the absolute
end of the buffer. If no blank space is available, the Lam-Alef character
remains as is.
- When transforming from implicit to visual layouts, Lam plus Alef
sequences are compressed to a unique Lam-Alef character; the space
resulting from Lam-Alef compression is positioned at the absolute
end of the buffer.
- LamAlefEditMode_Src is LamAlefOff, and LamAlefEditMode_Targ
is LamAlefAuto: For each LAMALEF character found, expand LAMALEF
using space at end. If there is no space at end, use spaces at beginning
of the buffer. If there is no space at the beginning of the buffer,
use spaces at the near (for example, the space after the LAMALEF character).
- Other settings: Lam Alef characters remain as is.
- CUN4BDPR_YehHamzaMode_Src - set by caller
- CUN4BDPR_YehHamzaMode_Targ - set by caller
- Specifies which YehHamza edit mode transformations are performed.
Possible values are:
- ONECELL_YAHHAMZA: The Yeh-Hamza final form is represented
as one character.
- TWOCELL_YAHHAMZA: The Yeh-Hamza final form is represented
as two characters.
The default value for CUN4BDPR_YehHamzaMode is TWOCELL_YAHHAMZA,
if the CCSID is 00420 or 00864. Otherwise, it is ONECELL_YAHHAMZA.
- CUN4BDPR_TailEditMode_Src - set by caller
- CUN4BDPR_TailEditMode_Targ - set by caller
- Specifies which Tail edit mode transformations are performed.
Possible values are:
- NEW_TAIL: A newly defined Tail character (U+FE73) in Unicode
3.2 to replace the legacy Seen family Tail character.
- OLD_TAIL: A legacy Seen family tail character (U+200B).
The default value for CUN4BDPR_TailEditMode is OLD_TAIL.
- CUN4BDPR_TashkeelEditMode_Src - set by caller
- CUN4BDPR_TashkeelEditMode_Targ - set by caller
- Specifies which Tashkeel edit mode transformations are performed.
Possible values are:
- TASHKEELBEGIN: All Tashkeel characters (except for Shadda)
are replaced by spaces. The resulting spaces are moved to the beginning
of the buffer.
- TASHKEELEND: All Tashkeel characters (except for Shadda)
are replaced by spaces. The resulting spaces are moved to the end
of the buffer.
- TASHKEELREPLACEWITHTATWEEL: All Tashkeel characters (except
for Shadda) are ignored and reseize the data buffer. This is done
only when the output codepage is 420 or 864.
- TASHKEELRESIZE: All Tashkeel characters (except for Shadda)
are ignored and reseize the data buffer. This is done only when the
output codepage is 420 or 864.
- TASHKEELISOLATED: All Tashkeel or Tatweel characters (except
for Shadda) are ignored and reseize the data buffer.
The default value for CUN4BDPR_TashkeelEditMode is TASHKEELEND.
- CUN4BDPR_InpToOut_Ptr - set by caller
- Specifies a buffer to receive a cross-reference from each Src_Buf
code element to the transformed data. The cross-reference relates
to the data in Src_Buf starting with the first element that InpBufIndex
points to (and not necessarily starting from the beginning of the
Src_Buf).
If not a NULL pointer, it points to an array of values
with the same number of bytes in Src_Buf starting with the one pointed
by InpBufIndex and up to the end of the substring in the buffer. On
output, the nth value in InpToOut corresponds to the nth
byte in Src_Buf. This value is the index (in units of bytes) in Targ_Buf
that identifies the transformed element of the nth byte in
Src_Buf. In the case of multibyte encoding, the index points (for
each of the bytes of a code element in the Src_Buf) to the first byte
of the transformed code element in the Targ_Buf.
InpToOut may
be specified as NULL if no index array from Src_Buf to Targ_Buf is
desired.
- CUN4BDPR_OutToInp_Ptr - set by caller
- Specifies a buffer to receive a cross-reference from each Targ_Buf
code element to the source buffer. The cross-reference relates to
the data in Src_Buf starting with the first element that InpBufIndex
points to (and not necessarily starting from the beginning of the
Src_Buf).
If not a NULL pointer, it points to an array of values
with the same number of bytes in Targ_Buf. On output, the nth
value in OutToInp corresponds to the nth byte in Targ_Buf.
This value is the index (in units of bytes) in Src_Buf that identifies
the source of the transformed element of the nth byte in Targ_Buf.
In the case of multibyte encoding, the index points (for each of the
bytes of a code element in the Targ_Buf) to the first byte of the
source of the transformed code element in the Src_Buf.
OutToImp
may be specified as NULL if no index array from Targ_Buf to Src_Buf
is desired.
- CUN4BDPR_BidiLvl_Ptr - set by caller
- A weighted value that represents peculiar input string transformation
properties with different connotations as explained below.
If this
argument is not a NULL pointer, it represents an array of values with
the same number of elements as the Src_Buf before the transformation.
Each byte will contain relevant BidiLvl information of the corresponding
element in Src_Buf starting from the element pointed by InpBufIndex.
The four rightmost bits of each BidiLvl byte will contain information
for bidirectional environments (when ActiveDirectional is true) and
they will mean NestingLevels. The possible value from 0 to 15 represents
the nesting level of the corresponding element in the Src_Buf starting
from the element pointed by InpBufIndex. If ActiveDirectional is false,
the content of NestingLevel bits will be ignored. The leftmost bit
of each BidiLvl byte will contain a new cell indicator for composed
character environments and will have a value of either 1 (for an element
in Src_Buf that is transformed to the beginning of a new cell) or
zero (for the zero-length composing character elements, when these
are grouped into the same presentation cell with a non-composing character).
Each element of BidiLvl pertains to the elements in the Src_Buf starting
from the element pointed by InpBufIndex. Remember that this is not
necessarily the beginning of SrcBuf.
If none of the transformation
properties is required, the argument property can be NULL.
The
use of BidiLvl can be enhanced in the future to pertain to other possible
usage in other environments.
- CUN4BDPR_InpBufIndex - set by caller, updated by service
- InpBufIndex is an offset value to the location of the transformed
text. When the bidi service is invoked, InpBufIndex contains the offset
to the element in Src_Buf that will be transformed first. Note: This
is not necessarily the first element in Src_Buf. At the return from
the transformation, InpBufIndex contains the offset to the first element
in the Src_Buf that has not been transformed. If the entire substring
has been transformed successfully, InpBufIndex will be incremented
by the amount defined by Src_Buf_Len.
Set by caller. The service
updates the offset value.
- CUN4BDPR_Streaming_Processed_Length - set by service
- Specifies the amount of source text, in bytes, that layout streaming
processed. Set by service when Layout_Streaming is set.
- CUN4BDPR_Layout_Streaming_State - set by caller, updated by service
- Contains the state of the bidi transformation between calls to
the service when Layout_Streaming is used.
The caller should set
this area to all zero bytes the first time calling the service with
Layout_Streaming and then not modify the value for subsequent calls
to the service that use the same layout streaming operation. When
using layout streaming, the last call in the sequence is with the
Layout_Streaming bit turned off. The caller should not modify the
content of the Layout_Streaming_State until after that call returns.
Set
by caller and updated by the service when Layout_Streaming is used.
Ignored when Layout_Streaming is not used.
- CUN4BDPR_Bidi_Keyword - set by caller
- This is a short form for extended bidi settings.
Note: Short path
settings have higher priority over defaults and long path settings.
Format
of CUN4BDPR_Bidi_Keyword: Key1+Value_Key2+Value_Key3+Value…
Note: - Since most attributes (except for LayoutOptions and CheckMode
attributes) can apply to both the source and target data, the second
letter in the key indicates whether the attributes is for the
source (S) or target (T) buffer.
- If the same key is specified more than once, the last specified
value is used.
In the example: OS0_OT1_TS1_TT2
- Orientation of the source buffer is LTR.
- Orientation of the target buffer is RTL.
- Type of text of the source buffer is implicit.
- Type of text of the target buffer is explicit.
Attribute name |
Format key: b=buffer (S=source or T=target)
x=attribute value |
Possible attribute values |
Description |
---|
LayoutOptions |
Lx |
0-252 |
Layout options. Values:- 1... .... (128) = CUNBDPRM_Layout _Roundtrip
- .1.. .... (64) = CUNBDPRM_Layout _WinCompat
- ..1. .... (32) = CUNBDPRM_Layout _ImpToImp
- ...1 .... (16) = CUNBDPRM_Layout _Remove_Marks
- .... 1... (8) = CUNBDPRM_Layout _Insert_Marks
- .... .1.. (4) = CUNBDPRM_Layout _Streaming
Example of Roundtrip and ImpToImp (or Logical to Logical): L160
For
long path equivalent setting, see CUN4BDPR_Layout_Options description.
|
Orientation |
Obx |
0-4 |
The direction of the text. Values: - 0 = ORIENTATION_LTR (Input/Output Default)
- 1 = ORIENTATION_RTL
- 2 = ORIENTATION_TTBLR
- 3 = ORIENTATION_TTBRL
- 4 = ORIENTATION _CONTEXTUAL
The mappings between short form and long form are defined by
BIDI_ORIENTATION in the interface definition file CUNBCIDF. |
Context |
Cbx |
0-1 |
Contextual orientation when the orientation
attribute is set to ORIENTATION_CONTEXTUAL. Values: - 0 = CONTEXT_LTR (Input/Output Default)
- 1 = CONTEXT_RTL
The mappings between short form and long form are defined by
BIDI_CONTEXT in the interface definition file CUNBCIDF. |
TypeofText |
Tbx |
0-2 |
Type of the text. Values: - 0 = TEXT_VISUAL (Output default)
- 1 = TEXT_IMPLICIT (Input default)
- 2 = TEXT_EXPLICIT
The mappings between short form and long form are defined by
BIDI_TEXT_TYPE in the interface definition file CUNBCIDF. |
ImplicitAlg |
Ibx |
0-1 |
Implicit algorithm used in the source/target
buffer. Values:- 0 = ALGOR_BASIC (Input/Output Default)
- 1 = ALGOR_IMPLICIT
The mappings between short form and long form are defined by
BIDI_IMPALG in the interface definition file CUNBCIDF. |
Swapping |
Sbx |
0-1 |
Specifies whether symmetric swapping is enabled.
Values: - 0 = SWAPPING_NO (Output default)
- 1 = SWAPPING_YES (Input default)
The mappings between short form and long form are defined by
BIDI_SWAPPING in the interface definition file CUNBCIDF. |
Numerals |
Nbx |
0-3 |
How numerals are shaped. Values: - 0 = NUMERALS_NOMINAL (Input default. Output default in Hebrew
locale.)
- 1 = NUMERALS_NATIONAL
- 2 = NUMERALS_CONTEXTUAL (Output default in Arabic locale)
- 3 = NUMERALS_NONE
The mappings between short form and long form are defined by
BIDI_NUMERALS in the interface definition file CUNBCIDF. |
TextShaping |
Ebx |
0-7 |
Specifies whether text to be shaped. Values: - 0 = TEXT_SHAPED (Output default in Arabic locale)
- 1 = TEXT_NOMINAL (Input default, Output default in Hebrew locale)
- 2 = TEXT_SHFORM1
- 3 = TEXT_SHFORM2
- 4 = TEXT_SHFORM3
- 5 = TEXT_SHFORM4
- 6 = TEXT_STANDARD
- 7 = TEXT_COMPOSED
The mappings between short form and long form are defined by
BIDI_SHAPING in the interface definition file CUNBCIDF. |
CheckMode |
Hx |
0-1 |
Level of Bidi checking (apply to both source
and target). Values: - 0 = MODE_STREAM
- 1 = MODE_EDIT (Input/Output default)
The mappings between short form and long form are defined by
BIDI_CHECKMODE in the interface definition file CUNBCIDF. |
WordBreak |
Wbx |
0-1 |
Word break. Values:- 0 = WORD_BREAK
- 1 = NO_BREAK (Input/Output default)
The mappings between short form and long form are defined by
BIDI_WORDBREAK in the interface definition file CUNBCIDF. |
LamALefEdit |
Fbx |
0-5 |
LamAlef edit mode. Values:- 0 = LamAlefOn
- 1 = LamAlefBegin
- 2 = LamAlefResize
- 3 = LamAlefNear
- 4 = LamAlefAuto (Input/Output default)
- 5 = LamAlefOff
The mappings between short form and long form are defined by
BIDI_LAMALEF in the interface definition file CUNBCIDF. |
ArabicOneCell |
Abx |
0-1 |
Arabic one-cell shaping. Values:- 0 = ONECELL_SEEN (Input default. Output default for Hebrew locale.)
- 1 = TWOCELL_SEEN (Output default for Arabic locale.)
The mappings between short form and long form are defined by
BIDI_ONECELL in the interface definition file CUNBCIDF. |
TailMode |
Mbx |
0-1 |
Tail edit mode. Values:- 0 = NEW_TAIL
- 1 = OLD_TAIL
The mappings between short form and long form are defined by
BIDI_TAIL in the interface definition file CUNBCIDF. |
TashkeelMode |
Kbx |
0-4 |
Tashkeel edit mode. Values:- 0 = TashkeelBegin
- 1 = TashkeelEnd
- 2 = TashkeelReplaceWithTatweel
- 3 = TashkeelResize
- 4 = TashkeelIsolated
The mappings between short form and long form are defined by
BIDI_TASHKEEL in the interface definition file CUNBCIDF. |
YehHamza |
Ybx |
0-1 |
YehHamza edit mode. Values:- 0 = ONECELL_YEHHAMZA (Input default. Output default for Hebrew
locale.)
- 1 = TWOCELL_YEHHAMZA (Output default for Arabic locale.)
The mappings between short form and long form are defined by
BIDI_YEHHAMZA in the interface definition file CUNBCIDF. |
|