installTextDirectionHandlers method
void
installTextDirectionHandlers()
Implementation
void installTextDirectionHandlers() {
// \RLE{content} — Right-to-Left Embedding
register(["RLE"], (_, ctx, __) {
final arg = ctx.parseArgument();
if (arg == null) return TextNode("");
final content = arg is GroupNode ? arg.childrenNodes : [arg];
return TextDirectionNode(content, TextDirectionType.rtl);
});
// \LRE{content} — Left-to-Right Embedding
register(["LRE"], (_, ctx, __) {
final arg = ctx.parseArgument();
if (arg == null) return TextNode("");
final content = arg is GroupNode ? arg.childrenNodes : [arg];
return TextDirectionNode(content, TextDirectionType.ltr);
});
// \textarabic{content} — Arabic text (RTL)
register(["textarabic"], (_, ctx, __) {
final arg = ctx.parseArgument();
if (arg == null) return TextNode("");
final content = arg is GroupNode ? arg.childrenNodes : [arg];
return TextDirectionNode(content, TextDirectionType.rtl);
});
// \texthebrew{content} — Hebrew text (RTL)
register(["texthebrew"], (_, ctx, __) {
final arg = ctx.parseArgument();
if (arg == null) return TextNode("");
final content = arg is GroupNode ? arg.childrenNodes : [arg];
return TextDirectionNode(content, TextDirectionType.rtl);
});
}