[2] 
[DFN[Uniscribe]]
([DFN[Unicode Script Processor]])
は
[[complex script]]
の[[文字のレンダリング]]のための 
[[Windows]]
の[[ライブラリー]]です。
[SRC[>>1, >>7]]

[3] 
比較的単純で[[フォント]]に近い処理を担当する [[OTLS]]
と共に、
[[Windows]] における[[文字のレンダリング]]の [[API]]
を実装しています。

[5] 
[[Uniscribe]]
は[[アラビア文字]], [[ヘブライ文字]], [[インド系文字]], [[タイ文字]]などに対応しています。
[[用字系]]を混在させられます。
[[bidi]] にも対応しています。
[SRC[>>1]]

[6] 
[[用字系]]ごとに [[shaping engine]] を持っています。また特別に対応していない[[用字系]]用の
[[OpenType Layout]] [[shaping engine]] も持っています。
[SRC[>>1]]

[12] 
[[アラビア文字]],
[[ヘブライ文字]],
[[タイ文字]]については、
古い [[OS]]
が対応していた
[[OpenType Layout]]
以前の[[フォント]]にも対応しています。
[SRC[>>8]]



[9] 
[[Uniscribe]] は [[bidiアルゴリズム]]も実装しています。 [SRC[>>8]]

[10] 
[[Uniscribe]] は[[サロゲートペア]]処理も実装しています。 [SRC[>>8]]

[4] 
関連:
[[OTLS]], 
[[連なり]],
[[項目][連なり]],
[[shaping engine]]

[11] 
本来[[文字符号化]]処理層に属するべき[[サロゲートペア]]を [[Uniscribe]]
が扱うのは不思議にも思えます。
[[Windows NT]] は元々 [[UCS-2]] 対応で作られていて、
途中から [[UTF-16]] 対応に拡張されたので、
[[サロゲートペア]]もここに無理矢理押し込まれたのでしょう。

-
[1] [CITE@ja-jp[OpenType development (LEGACY INFORMATION) - Typography | Microsoft Docs]], [[nihar]], [TIME[2022-08-27T06:22:28.000Z]] <https://docs.microsoft.com/ja-jp/typography/develop/otdevinfo>
- [7] [CITE@ja-jp[OpenType glyph processing (part 1) - Typography | [[Microsoft]] Docs]], [[alib-ms]], [TIME[2022-08-27T07:55:01.000Z]] <https://docs.microsoft.com/ja-jp/typography/develop/processing-part1#uniscribe>
-
[8] [CITE@ja-jp[OpenType glyph processing (part 2) - Typography | [[Microsoft]] Docs]], [[alib-ms]], [TIME[2022-08-27T13:16:47.000Z]] <https://docs.microsoft.com/ja-jp/typography/develop/processing-part2#uniscribe-in-detail>
