\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{fontspec}
\usepackage{multicol}
\usepackage{xparse}
\ExplSyntaxOn
\let\NDC\NewDocumentCommand
\cs_generate_variant:Nn
\seq_set_split:Nnn
{ cno }
\cs_generate_variant:Nn
\seq_gset_split:Nnn
{ cno }
\cs_generate_variant:Nn
\tl_count_tokens:n
{ V }
\cs_generate_variant:Nn
\tl_greplace_all:Nnn
{ Nxx }
\cs_generate_variant:Nn
\tl_replace_all:Nnn
{ Nxx }
\cs_generate_variant:Nn
\tl_replace_all:Nnn
{ Nvv }
\cs_generate_variant:Nn
\regex_replace_all:nnN
{ xxN }
\seq_new:N
\l_f_rq_seq
\seq_new:N
\l_f_rqz_seq
\seq_new:N
\l_f_rqy_seq
\tl_new:N
\l_f_rqz_tl
\seq_new:N
\l_f_rqyy_seq
\int_new:N
\l_f_rqz_int
\int_new:N
\l_f_rqy_int
\tl_new:N
\g_f_rns_tl
\tl_gset:Nn
\g_f_rns_tl
{mfs}
\tl_new:N
\l_f_rnsa_tl
\tl_new:N
\l_f_rnsb_tl
\tl_new:N
\l_f_rnsc_tl
\tl_new:N \l_tmpc_tl
%---
\cs_set:Npn \ic_funcsortseq:cn #1#2 {
\seq_sort:cn { #1 }
{
\seq_clear:N
\l_f_rqz_seq
\seq_clear:N
\l_f_rqy_seq
\seq_set_split:Nnn
\l_f_rqz_seq
{ ; }
{ ##1 }
\seq_set_split:Nnn
\l_f_rqy_seq
{ ; }
{ ##2 }
\tl_set:Nx
\l_f_rqz_tl
{
\seq_item:Nn
\l_f_rqz_seq
{1}
}
\tl_set:Nx
\l_f_rqy_tl
{
\seq_item:Nn
\l_f_rqy_seq
{1}
}
\int_set:Nn
\l_f_rqz_int
{
\tl_count_tokens:V
\l_f_rqz_tl
}
\int_set:Nn
\l_f_rqy_int
{
\tl_count_tokens:V
\l_f_rqy_tl
}
\int_compare:nNnTF
{ \l_f_rqz_int } { #2 } { \l_f_rqy_int }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
}
%---
\cs_set:Npn \ic_funcsortseqnumgen:cnn #1#2#3 {
\seq_sort:cn { #1 } %
{
\seq_clear:N
\l_f_rqz_seq
\seq_clear:N
\l_f_rqy_seq
\seq_set_split:Nnn
\l_f_rqz_seq
{ ; }
{ ##1 }
\seq_set_split:Nnn
\l_f_rqy_seq
{ ; }
{ ##2 }
\tl_set:Nx
\l_f_rqz_tl
{
\seq_item:Nn
\l_f_rqz_seq
{ #3 }
}
\tl_set:Nx
\l_f_rqy_tl
{
\seq_item:Nn
\l_f_rqy_seq
{ #3 }
}
\int_set:Nn
\l_f_rqz_int
{
\l_f_rqz_tl
}
\int_set:Nn
\l_f_rqy_int
{
\l_f_rqy_tl
}
\int_compare:nNnTF
{ \l_f_rqz_int } { #2 } { \l_f_rqy_int }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
}
%---
\cs_set:Npn \ic_funcsortseqnum:cn #1#2 {
\seq_sort:cn { #1 }
{
\seq_clear:N
\l_f_rqz_seq
\seq_clear:N
\l_f_rqy_seq
\seq_set_split:Nnn
\l_f_rqz_seq
{ ; }
{ ##1 }
\seq_set_split:Nnn
\l_f_rqy_seq
{ ; }
{ ##2 }
\tl_set:Nx
\l_f_rqz_tl
{
\seq_item:Nn
\l_f_rqz_seq
{1}
}
\tl_set:Nx
\l_f_rqy_tl
{
\seq_item:Nn
\l_f_rqy_seq
{1}
}
\int_set:Nn
\l_f_rqz_int
{
\l_f_rqz_tl
}
\int_set:Nn
\l_f_rqy_int
{
\l_f_rqy_tl
}
\int_compare:nNnTF
{ \l_f_rqz_int } { #2 } { \l_f_rqy_int }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
}
%----
\NDC { \mfsloadaseq } { o m +m } {
\IfNoValueTF { #1 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #1 } }
\cs_if_free:cT
{ g_f_r \g_f_ns_tl #2 _seq }
{ \seq_new:c
{ g_f_r \g_f_ns_tl #2 _seq }
}
\seq_gclear:c
{ g_f_r \g_f_ns_tl #2 _seq }
\seq_gset_split:cno
{ g_f_r \g_f_ns_tl #2 _seq }
{ , }
{ #3 }
}
%----
\NDC { \mfsloadaprop } { o m +m } {
\IfNoValueTF { #1 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #1 } }
\cs_if_free:cT
{ g_f_r \g_f_ns_tl #2 _prop }
{ \prop_new:c
{ g_f_r \g_f_ns_tl #2 _prop }
}
\prop_gclear:c
{ g_f_r \g_f_ns_tl #2 _prop }
\prop_gset_from_keyval:cn
{ g_f_r \g_f_ns_tl #2 _prop }
{ #3 }
}
%----
\NDC { \mfssortaseq } { o m m } {
\IfNoValueTF { #1 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #1 } }
\ic_funcsortseq:cn { g_f_r \g_f_ns_tl #2 _seq } { #3 }
}
%---
\NDC { \mfssortaseqnum } { o m m } {
\IfNoValueTF { #1 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #1 } }
\ic_funcsortseqnum:cn { g_f_r \g_f_ns_tl #2 _seq } { #3 }
}
\seq_new:N \g_f_curr_seq
\seq_new:N \g_f_currb_seq
\tl_new:N \g_f_curr_tl
\tl_new:N \l_f_currb_tl
\seq_new:N \g_f_fontsn_seq
\seq_new:N \g_f_fontln_seq
%---- Vars
\tl_new:N \g_f_ftext_tl
\int_new:N \g_f_gcode_int
\tl_new:N \g_f_gcode_tl
\int_new:N \g_f_numdigits_int
\tl_new:N \g_f_numdigits_tl
\tl_new:N \g_f_myblockname_tl
\tl_new:N \g_f_myblocksetname_tl
\tl_new:N \g_f_myfontname_tl
\tl_new:N \g_f_prevblocksetname_tl
%---
\tl_new:N \g_f_trtext_tl
%---- Functions
\cs_set:Npn \fc_funcprinttrscheme:n #1 {
\tl_gset:Nx
\g_f_curr_tl
{
#1
}
\seq_gset_split:NnV
\g_f_currb_seq
{ ; }
\g_f_curr_tl
\tl_set:Nx \l_tmpa_tl
{
\seq_item:Nn
\g_f_currb_seq
{ 1 }
}
\tl_set:Nx \l_tmpb_tl
{
\seq_item:Nn
\g_f_currb_seq
{ 2 }
}
% print
\par\noindent
\tl_use:N \l_tmpa_tl
\space
=
\space
{
\use:c { ffc\g_f_ns_tl\g_f_myblocksetname_tl }
\large \color{blue} \Uchar \tl_use:N \l_tmpb_tl }
}
%---
\cs_set:Npn \fc_functransliterate:n #1 {
\tl_gset:Nx
\g_f_curr_tl
{
#1
}
\seq_gset_split:NnV
\g_f_currb_seq
{ ; }
\g_f_curr_tl
\tl_set:Nx \l_tmpa_tl
{
\seq_item:Nn
\g_f_currb_seq
{ 1 }
}
\tl_set:Nx \l_tmpb_tl
{
\seq_item:Nn
\g_f_currb_seq
{ 2 }
}
\tl_greplace_all:Nxx
\g_f_trtext_tl
{
\tl_use:N \l_tmpa_tl
}
{
\Uchar
\tl_use:N \l_tmpb_tl
}
}
%---
\cs_set:Npn \fc_funcappplyfont:n #1 {
\int_gset:Nn
\g_f_gcode_int
{ `#1 }
\tl_gset:NV
\g_f_gcode_tl
\g_f_gcode_int
\tl_gset:Nn
\g_f_numdigits_tl
{
\tl_count_tokens:V
\g_f_gcode_tl
}
\seq_map_function:cN
{ g_f_r
\tl_use:N
\g_f_ns_tl
list
\tl_use:N
\g_f_numdigits_tl
digits
_seq }
\fc_funcgetblock:n
\int_case:nnF { \g_f_gcode_int }
{
{ `\僜 } { \par }
{ 127026 } { \itshape }
{ 127027 } { \upshape }
{ 127028 } { \c_space_token }
{ 127029 } { \c_space_token }
{ 127030 } { \bfseries }
{ 127031 } { \mdseries }
{ 127032 } { \hashtag }
{ 127033 } { \ }
}
{
\bool_if:NTF
\g_f_mirror_bool
{
\reflectbox{
\symbol{
\int_use:N
\g_f_gcode_int
}
}
}%T
{
\symbol{
\int_use:N
\g_f_gcode_int
}
}%F
}
}
%---
\cs_set:Npn \fc_funcgetblock:n #1 {
\tl_gset:Nx
\g_f_curr_tl
{
#1
}
\seq_gset_split:NnV
\g_f_currb_seq
{ ; }
\g_f_curr_tl
\fc_funcgetfontnameb:nn
{
\seq_item:Nn
\g_f_currb_seq
{ 1 }
}
{
\seq_item:Nn
\g_f_currb_seq
{ 2 }
}
}
\tl_new:N \g_f_fontoptionsa_tl
%---
\cs_set:Npn \fc_funcgetfontnameb:nn #1#2 {
\bool_if:nT
{
\int_compare_p:n { #1 <= \g_f_gcode_int }
&&
\int_compare_p:n { #2 >= \g_f_gcode_int }
}
{
\tl_set:Nn
\g_f_myblockname_tl
{
\seq_item:Nn
\g_f_currb_seq
{ 3 }
}
\exp_args:Nxx
\prop_get:cnN%TF
{ g_f_r \g_f_ns_tl block2blockset _prop }
{ \g_f_myblockname_tl }
\g_f_myblocksetname_tl
\exp_args:Nxx
\prop_get:cnN
{ g_f_r \g_f_ns_tl blockset2font _prop }
{ \g_f_myblocksetname_tl }
\g_f_myfontname_tl
\exp_args:Nxx
\prop_get:cnNTF
{ g_f_r \g_f_ns_tl blockset2fontoptions _prop }
{ \tl_use:N \g_f_myblocksetname_tl }
\g_f_fontoptionsa_tl
{
% T:
\regex_replace_all:nnN
{ ; }
{ = }
\g_f_fontoptionsa_tl
\regex_replace_all:nnN
{ - }
{ , }
\g_f_fontoptionsa_tl
}{
\tl_clear:N \g_f_fontoptionsa_tl
}
\tl_if_eq:NNF
\g_f_prevblocksetname_tl
\g_f_myblocksetname_tl
{
\cs_if_free:cT
{ ffc\g_f_ns_tl\g_f_myblocksetname_tl }
{
\exp_args:Nxx
\newfontfamily
{ \use:c { ffc\g_f_ns_tl\g_f_myblocksetname_tl } }
{ \tl_use:N \g_f_myfontname_tl }
[
\tl_use:N \g_f_fontoptionsa_tl
]
}
\use:c { ffc\g_f_ns_tl\g_f_myblocksetname_tl }
\tl_set_eq:NN
\g_f_prevblocksetname_tl
\g_f_myblocksetname_tl
}
}
}
\bool_new:N \g_f_mirror_bool
\bool_new:N \g_f_reversed_bool
%---- FTextM (mirrored)
\NDC \ftextm { s o +m } {
\bool_set_true:N
\g_f_mirror_bool
\tl_set:Nn
\g_f_trtext_tl
{ #3 }
\IfBooleanTF { #1 }
{
\tl_reverse:N
\g_f_trtext_tl
\bool_set_true:N
\g_f_reversed_bool
\ftext*
}
{ \ftext }
[#2]{ \tl_use:N \g_f_trtext_tl }
\bool_set_false:N
\g_f_mirror_bool
}
%---- TRFTextM (mirrored)
\NDC \trftextm { s o m +m } {
\bool_set_true:N
\g_f_mirror_bool
\trtextnop[#2]{#3}{#4}
\IfBooleanTF { #1 }
{
\tl_reverse:N
\g_f_trtext_tl
\bool_set_true:N
\g_f_reversed_bool
\ftext*
}
{ \ftext }
[#2]{ \tl_use:N \g_f_trtext_tl }
\bool_set_false:N
\g_f_mirror_bool
}
%---- TRFText
\NDC \trftext { s o m +m } {
\trtextnop[#2]{#3}{#4}
\IfBooleanTF { #1 }
{
\tl_reverse:N
\g_f_trtext_tl
\bool_set_true:N
\g_f_reversed_bool
\ftext*
}
{ \ftext }
[#2]{ \tl_use:N \g_f_trtext_tl }
}
\tl_new:N \l_f_uregex_tl
\tl_new:N \g_f_ns_tl
\tl_new:N \g_f_trbns_tl
%---- TRTextNOP
\NDC \trtextnop { o m +m } {
\tl_gset:Nx
\g_f_trtext_tl
{ #3 }
\IfNoValueTF { #1 }
{ \tl_clear:N \g_f_trbns_tl }
{ \tl_gset:Nn \g_f_trbns_tl { #1 } }
\group_begin:
\exp_args:Nx
\seq_map_function:cN
{ g_f_r \g_f_trbns_tl #2 _seq }
\fc_functransliterate:n
\group_end:
}
%---- TRText
\NDC \trtext { s o m +m } {
\tl_gset:Nx
\g_f_trtext_tl
{ #4 }
\IfNoValueTF { #2 }
{ \tl_clear:N \g_f_trbns_tl }
{ \tl_gset:Nn \g_f_trbns_tl { #2 } }
\IfBooleanT { #1 }
{
\tl_reverse:N
\g_f_trtext_tl
\bool_set_true:N
\g_f_reversed_bool
}
\group_begin:
\exp_args:Nx
\seq_map_function:cN
{ g_f_r \g_f_trbns_tl #3 _seq }
\fc_functransliterate:n
\group_end:
\tl_use:N
\g_f_trtext_tl
\IfBooleanT { #1 }
{
$^\leftarrow$
}
}
%---- FText
\NDC \ftext { s o +m } {
\tl_gset:Nx
\g_f_ftext_tl
{ #3 }
\IfNoValueTF { #2 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #2 } }
\regex_replace_all:nnN
{ \c{par} }
{ 僜 }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{itshape} }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{upshape} }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c[S](.) }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{space} }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{bfseries} }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{mdseries} }
{ }
\g_f_ftext_tl
\regex_replace_all:nnN
{ \c{hashtag} }
{ }
\g_f_ftext_tl
\tl_set:Nn \l_f_uregex_tl { \\ }
\regex_replace_all:nnN
{ \u { l_f_uregex_tl } }
{ }
\g_f_ftext_tl
\IfBooleanT { #1 }
{
\bool_if:NF
\g_f_reversed_bool
{ \tl_reverse:N \g_f_ftext_tl }
}
\group_begin:
\tl_map_function:cN
{ g_f_ftext_tl }
\fc_funcappplyfont:n
\group_end:
\IfBooleanT { #1 }
{
$^\leftarrow$
\bool_set_false:N
\g_f_reversed_bool
}
}
\tl_new:N \g_f_trns_tl
%---- FTrText
\NDC \ftrtext { s o o m +m } {
\tl_gset:Nn
\g_f_trtext_tl
{ #5 }
\IfNoValueTF { #2 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #2 } }
\IfNoValueTF { #3 }
{ \tl_clear:N \g_f_trns_tl }
{ \tl_gset:Nn \g_f_trns_tl { #3 } }
\regex_replace_all:nnN
{ \c{par} }
{ 僜 }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{itshape} }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{upshape} }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c[S](.) }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{space} }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{bfseries} }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{mdseries} }
{ }
\g_f_trtext_tl
\regex_replace_all:nnN
{ \c{hashtag} }
{ }
\g_f_trtext_tl
\tl_set:Nn \l_f_uregex_tl { \\ }
\regex_replace_all:nnN
{ \u { l_f_uregex_tl } }
{ }
\g_f_trtext_tl
%--- translit (tr)
\exp_args:Nx
\seq_map_function:cN
{ g_f_r \g_f_trns_tl #4 _seq }
\fc_functransliterate:n
\IfBooleanT { #1 }
{
\tl_reverse:N
\g_f_trtext_tl
\bool_set_true:N
\g_f_reversed_bool
}
\group_begin:
\exp_args:Nx
\str_map_function:nN
{ \g_f_trtext_tl }
\fc_funcappplyfont:n
\group_end:
\IfBooleanT { #1 }
{
$^\leftarrow$
}
}
%---- Print a transliteration scheme
\NDC \printtrscheme { s o o m m O{6}} {
\tl_gset:Nn
\g_f_myblocksetname_tl
{ #5 }
\IfNoValueTF { #2 }
{ \tl_clear:N \g_f_ns_tl }
{ \tl_gset:Nn \g_f_ns_tl { #2 } }
\IfNoValueTF { #3 }
{ \tl_clear:N \g_f_trns_tl }
{ \tl_gset:Nn \g_f_trns_tl { #3 } }
\exp_args:Nxx
\prop_get:cnN
{ g_f_r \g_f_ns_tl blockset2font _prop }
{ \g_f_myblocksetname_tl }
\g_f_myfontname_tl
\seq_gset_eq:Nc
\g_tmpa_seq
{ g_f_r \g_f_trns_tl #4 _seq }
\IfBooleanTF {#1}
{ }
{
\ic_funcsortseqnumgen:cnn
{ g_tmpa_seq }
{ > } % ascending
{ 2 } % sort field
}
\cs_if_free:cT
{ ffc\g_f_ns_tl\g_f_myblocksetname_tl }
{ %X
\exp_args:Nxx
\newfontfamily
{ \use:c { ffc\g_f_ns_tl\g_f_myblocksetname_tl } }
{ \tl_use:N \g_f_myfontname_tl }
}
\begin{multicols}{#6}
\exp_args:Nx
\seq_map_function:cN
{ g_tmpa_seq }
\fc_funcprinttrscheme:n
\end{multicols}
{ \tiny
~ FS ~ ns ~[ \tl_use:N \g_f_ns_tl ]~
TS ~ ns ~[ \tl_use:N \g_f_trns_tl ]~
TS ~ ( #4 ) ~
bsn ~[ \tl_use:N \g_f_myblocksetname_tl ]~
fn ~[ \tl_use:N \g_f_myfontname_tl ]~
}
}
\tl_new:N \l_tmpu_tl
\tl_new:N \l_tmpv_tl
\tl_new:N \l_tmpw_tl
%--- Meta
\NDC \mm { s m } {
\str_set:Nn \l_tmpa_str { #2 }
{ \ttfamily\small\str_use:N \l_tmpa_str }
\IfBooleanTF { #1 } { \space $\mapsto$ \space #2 } { }
}
\ExplSyntaxOff
%Data - ancient
\mfsloadaseq[ancient]{list2digits}{
32;99;Basic Latin
}
\mfsloadaseq[ancient]{list3digits}{
100;127;Basic Latin
}
%
\mfsloadaseq[ancient]{list5digits}{
77824;78894;Egyptian Hieroglyphs
}
\mfsloadaprop[ancient]{block2blockset}{
Egyptian Hieroglyphs=egyptianhieroglyphs
}
\mfsloadaprop[ancient]{blockset2font}{
egyptianhieroglyphs=Noto Sans Egyptian Hieroglyphs
}
\mfsloadaprop[ancient]{blockset2fontoptions}{
egyptianhieroglyphs=Scale;1.2
}
\mfsloadaseq[ancient]{egytran}{
a001;77824,a002;77825,a003;77826,a004;77827,a005;77828,a005a;77829,a006;77830,a006a;77831,a006b;77832,a007;77833,a008;77834,a009;77835,a010;77836,a011;77837,a012;77838,a013;77839,a014;77840,a014a;77841,a015;77842,a016;77843,a017;77844,a017a;77845,a018;77846,a019;77847,a020;77848,a021;77849,a022;77850,a023;77851,a024;77852,a025;77853,a026;77854,a027;77855,a028;77856,a029;77857,a030;77858,a031;77859,a032;77860,a032a;77861,a033;77862,a034;77863,a035;77864,a036;77865,a037;77866,a038;77867,a039;77868,a040;77869,a040a;77870,a041;77871,a042;77872,a042a;77873,a043;77874,a043a;77875,a044;77876,a045;77877,a045a;77878,a046;77879,a047;77880,a048;77881,a049;77882,a050;77883,a051;77884,a052;77885,a053;77886,a054;77887,a055;77888,a056;77889,a057;77890,a058;77891,a059;77892,a060;77893,a061;77894,a062;77895,a063;77896,a064;77897,a065;77898,a066;77899,a067;77900,a068;77901,a069;77902,a070;77903,b001;77904,b002;77905,b003;77906,b004;77907,b005;77908,b005a;77909,b006;77910,b007;77911,b008;77912,b009;77913,c001;77914,c002;77915,c002a;77916,c002b;77917,c002c;77918,c003;77919,c004;77920,c005;77921,c006;77922,c007;77923,c008;77924,c009;77925,c010;77926,c010a;77927,c011;77928,c012;77929,c013;77930,c014;77931,c015;77932,c016;77933,c017;77934,c018;77935,c019;77936,c020;77937,c021;77938,c022;77939,c023;77940,c024;77941,d001;77942,d002;77943,d003;77944,d004;77945,d005;77946,d006;77947,d007;77948,d008;77949,d008a;77950,d009;77951,d010;77952,d011;77953,d012;77954,d013;77955,d014;77956,d015;77957,d016;77958,d017;77959,d018;77960,d019;77961,d020;77962,d021;77963,d022;77964,d023;77965,d024;77966,d025;77967,d026;77968,d027;77969,d027a;77970,d028;77971,d029;77972,d030;77973,d031;77974,d031a;77975,d032;77976,d033;77977,d034;77978,d034a;77979,d035;77980,d036;77981,d037;77982,d038;77983,d039;77984,d040;77985,d041;77986,d042;77987,d043;77988,d044;77989,d045;77990,d046;77991,d046a;77992,d047;77993,d048;77994,d048a;77995,d049;77996,d050;77997,d050a;77998,d050b;77999,d050c;78000,d050d;78001,d050e;78002,d050f;78003,d050g;78004,d050h;78005,d050i;78006,d051;78007,d052;78008,d052a;78009,d053;78010,d054;78011,d054a;78012,d055;78013,d056;78014,d057;78015,d058;78016,d059;78017,d060;78018,d061;78019,d062;78020,d063;78021,d064;78022,d065;78023,d066;78024,d067;78025,d067a;78026,d067b;78027,d067c;78028,d067d;78029,d067e;78030,d067f;78031,d067g;78032,d067h;78033,e001;78034,e002;78035,e003;78036,e004;78037,e005;78038,e006;78039,e007;78040,e008;78041,e008a;78042,e009;78043,e009a;78044,e010;78045,e011;78046,e012;78047,e013;78048,e014;78049,e015;78050,e016;78051,e016a;78052,e017;78053,e017a;78054,e018;78055,e019;78056,e020;78057,e020a;78058,e021;78059,e022;78060,e023;78061,e024;78062,e025;78063,e026;78064,e027;78065,e028;78066,e028a;78067,e029;78068,e030;78069,e031;78070,e032;78071,e033;78072,e034;78073,e034a;78074,e036;78075,e037;78076,e038;78077,f001;78078,f001a;78079,f002;78080,f003;78081,f004;78082,f005;78083,f006;78084,f007;78085,f008;78086,f009;78087,f010;78088,f011;78089,f012;78090,f013;78091,f013a;78092,f014;78093,f015;78094,f016;78095,f017;78096,f018;78097,f019;78098,f020;78099,f021;78100,f021a;78101,f022;78102,f023;78103,f024;78104,f025;78105,f026;78106,f027;78107,f028;78108,f029;78109,f030;78110,f031;78111,f031a;78112,f032;78113,f033;78114,f034;78115,f035;78116,f036;78117,f037;78118,f037a;78119,f038;78120,f038a;78121,f039;78122,f040;78123,f041;78124,f042;78125,f043;78126,f044;78127,f045;78128,f045a;78129,f046;78130,f046a;78131,f047;78132,f047a;78133,f048;78134,f049;78135,f050;78136,f051;78137,f051a;78138,f051b;78139,f051c;78140,f052;78141,f053;78142,g001;78143,g002;78144,g003;78145,g004;78146,g005;78147,g006;78148,g006a;78149,g007;78150,g007a;78151,g007b;78152,g008;78153,g009;78154,g010;78155,g011;78156,g011a;78157,g012;78158,g013;78159,g014;78160,g015;78161,g016;78162,g017;78163,g018;78164,g019;78165,g020;78166,g020a;78167,g021;78168,g022;78169,g023;78170,g024;78171,g025;78172,g026;78173,g026a;78174,g027;78175,g028;78176,g029;78177,g030;78178,g031;78179,g032;78180,g033;78181,g034;78182,g035;78183,g036;78184,g036a;78185,g037;78186,g037a;78187,g038;78188,g039;78189,g040;78190,g041;78191,g042;78192,g043;78193,g043a;78194,g044;78195,g045;78196,g045a;78197,g046;78198,g047;78199,g048;78200,g049;78201,g050;78202,g051;78203,g052;78204,g053;78205,g054;78206,h001;78207,h002;78208,h003;78209,h004;78210,h005;78211,h006;78212,h006a;78213,h007;78214,h008;78215,i001;78216,i002;78217,i003;78218,i004;78219,i005;78220,i005a;78221,i006;78222,i007;78223,i008;78224,i009;78225,i009a;78226,i010;78227,i010a;78228,i011;78229,i011a;78230,i012;78231,i013;78232,i014;78233,i015;78234,k001;78235,k002;78236,k003;78237,k004;78238,k005;78239,k006;78240,k007;78241,k008;78242,l001;78243,l002;78244,l002a;78245,l003;78246,l004;78247,l005;78248,l006;78249,l006a;78250,l007;78251,l008;78252,m001;78253,m001a;78254,m001b;78255,m002;78256,m003;78257,m003a;78258,m004;78259,m005;78260,m006;78261,m007;78262,m008;78263,m009;78264,m010;78265,m010a;78266,m011;78267,m012;78268,m012a;78269,m012b;78270,m012c;78271,m012d;78272,m012e;78273,m012f;78274,m012g;78275,m012h;78276,m013;78277,m014;78278,m015;78279,m015a;78280,m016;78281,m016a;78282,m017;78283,m017a;78284,m018;78285,m019;78286,m020;78287,m021;78288,m022;78289,m022a;78290,m023;78291,m024;78292,m024a;78293,m025;78294,m026;78295,m027;78296,m028;78297,m028a;78298,m029;78299,m030;78300,m031;78301,m031a;78302,m032;78303,m033;78304,m033a;78305,m033b;78306,m034;78307,m035;78308,m036;78309,m037;78310,m038;78311,m039;78312,m040;78313,m040a;78314,m041;78315,m042;78316,m043;78317,m044;78318,n001;78319,n002;78320,n003;78321,n004;78322,n005;78323,n006;78324,n007;78325,n008;78326,n009;78327,n010;78328,n011;78329,n012;78330,n013;78331,n014;78332,n015;78333,n016;78334,n017;78335,n018;78336,n018a;78337,n018b;78338,n019;78339,n020;78340,n021;78341,n022;78342,n023;78343,n024;78344,n025;78345,n025a;78346,n026;78347,n027;78348,n028;78349,n029;78350,n030;78351,n031;78352,n032;78353,n033;78354,n033a;78355,n034;78356,n034a;78357,n035;78358,n035a;78359,n036;78360,n037;78361,n037a;78362,n038;78363,n039;78364,n040;78365,n041;78366,n042;78367,nl001;78368,nl002;78369,nl003;78370,nl004;78371,nl005;78372,nl005a;78373,nl006;78374,nl007;78375,nl008;78376,nl009;78377,nl010;78378,nl011;78379,nl012;78380,nl013;78381,nl014;78382,nl015;78383,nl016;78384,nl017;78385,nl017a;78386,nl018;78387,nl019;78388,nl020;78389,nu001;78390,nu002;78391,nu003;78392,nu004;78393,nu005;78394,nu006;78395,nu007;78396,nu008;78397,nu009;78398,nu010;78399,nu010a;78400,nu011;78401,nu011a;78402,nu012;78403,nu013;78404,nu014;78405,nu015;78406,nu016;78407,nu017;78408,nu018;78409,nu018a;78410,nu019;78411,nu020;78412,nu021;78413,nu022;78414,nu022a;78415,o001;78416,o001a;78417,o002;78418,o003;78419,o004;78420,o005;78421,o005a;78422,o006;78423,o006a;78424,o006b;78425,o006c;78426,o006d;78427,o006e;78428,o006f;78429,o007;78430,o008;78431,o009;78432,o010;78433,o010a;78434,o010b;78435,o010c;78436,o011;78437,o012;78438,o013;78439,o014;78440,o015;78441,o016;78442,o017;78443,o018;78444,o019;78445,o019a;78446,o020;78447,o020a;78448,o021;78449,o022;78450,o023;78451,o024;78452,o024a;78453,o025;78454,o025a;78455,o026;78456,o027;78457,o028;78458,o029;78459,o029a;78460,o030;78461,o030a;78462,o031;78463,o032;78464,o033;78465,o033a;78466,o034;78467,o035;78468,o036;78469,o036a;78470,o036b;78471,o036c;78472,o036d;78473,o037;78474,o038;78475,o039;78476,o040;78477,o041;78478,o042;78479,o043;78480,o044;78481,o045;78482,o046;78483,o047;78484,o048;78485,o049;78486,o050;78487,o050a;78488,o050b;78489,o051;78490,p001;78491,p001a;78492,p002;78493,p003;78494,p003a;78495,p004;78496,p005;78497,p006;78498,p007;78499,p008;78500,p009;78501,p010;78502,p011;78503,q001;78504,q002;78505,q003;78506,q004;78507,q005;78508,q006;78509,q007;78510,r001;78511,r002;78512,r002a;78513,r003;78514,r003a;78515,r003b;78516,r004;78517,r005;78518,r006;78519,r007;78520,r008;78521,r009;78522,r010;78523,r010a;78524,r011;78525,r012;78526,r013;78527,r014;78528,r015;78529,r016;78530,r016a;78531,r017;78532,r018;78533,r019;78534,r020;78535,r021;78536,r022;78537,r023;78538,r024;78539,r025;78540,r026;78541,r027;78542,r028;78543,r029;78544,s001;78545,s002;78546,s002a;78547,s003;78548,s004;78549,s005;78550,s006;78551,s006a;78552,s007;78553,s008;78554,s009;78555,s010;78556,s011;78557,s012;78558,s013;78559,s014;78560,s014a;78561,s014b;78562,s015;78563,s016;78564,s017;78565,s017a;78566,s018;78567,s019;78568,s020;78569,s021;78570,s022;78571,s023;78572,s024;78573,s025;78574,s026;78575,s026a;78576,s026b;78577,s027;78578,s028;78579,s029;78580,s030;78581,s031;78582,s032;78583,s033;78584,s034;78585,s035;78586,s035a;78587,s036;78588,s037;78589,s038;78590,s039;78591,s040;78592,s041;78593,s042;78594,s043;78595,s044;78596,s045;78597,s046;78598,t001;78599,t002;78600,t003;78601,t003a;78602,t004;78603,t005;78604,t006;78605,t007;78606,t007a;78607,t008;78608,t008a;78609,t009;78610,t009a;78611,t010;78612,t011;78613,t011a;78614,t012;78615,t013;78616,t014;78617,t015;78618,t016;78619,t016a;78620,t017;78621,t018;78622,t019;78623,t020;78624,t021;78625,t022;78626,t023;78627,t024;78628,t025;78629,t026;78630,t027;78631,t028;78632,t029;78633,t030;78634,t031;78635,t032;78636,t032a;78637,t033;78638,t033a;78639,t034;78640,t035;78641,t036;78642,u001;78643,u002;78644,u003;78645,u004;78646,u005;78647,u006;78648,u006a;78649,u006b;78650,u007;78651,u008;78652,u009;78653,u010;78654,u011;78655,u012;78656,u013;78657,u014;78658,u015;78659,u016;78660,u017;78661,u018;78662,u019;78663,u020;78664,u021;78665,u022;78666,u023;78667,u023a;78668,u024;78669,u025;78670,u026;78671,u027;78672,u028;78673,u029;78674,u029a;78675,u030;78676,u031;78677,u032;78678,u032a;78679,u033;78680,u034;78681,u035;78682,u036;78683,u037;78684,u038;78685,u039;78686,u040;78687,u041;78688,u042;78689,v001;78690,v001a;78691,v001b;78692,v001c;78693,v001d;78694,v001e;78695,v001f;78696,v001g;78697,v001h;78698,v001i;78699,v002;78700,v002a;78701,v003;78702,v004;78703,v005;78704,v006;78705,v007;78706,v007a;78707,v007b;78708,v008;78709,v009;78710,v010;78711,v011;78712,v011a;78713,v011b;78714,v011c;78715,v012;78716,v012a;78717,v012b;78718,v013;78719,v014;78720,v015;78721,v016;78722,v017;78723,v018;78724,v019;78725,v020;78726,v020a;78727,v020b;78728,v020c;78729,v020d;78730,v020e;78731,v020f;78732,v020g;78733,v020h;78734,v020i;78735,v020j;78736,v020k;78737,v020l;78738,v021;78739,v022;78740,v023;78741,v023a;78742,v024;78743,v025;78744,v026;78745,v027;78746,v028;78747,v028a;78748,v029;78749,v029a;78750,v030;78751,v030a;78752,v031;78753,v031a;78754,v032;78755,v033;78756,v033a;78757,v034;78758,v035;78759,v036;78760,v037;78761,v037a;78762,v038;78763,v039;78764,v040;78765,v040a;78766,w001;78767,w002;78768,w003;78769,w003a;78770,w004;78771,w005;78772,w006;78773,w007;78774,w008;78775,w009;78776,w009a;78777,w010;78778,w010a;78779,w011;78780,w012;78781,w013;78782,w014;78783,w014a;78784,w015;78785,w016;78786,w017;78787,w017a;78788,w018;78789,w018a;78790,w019;78791,w020;78792,w021;78793,w022;78794,w023;78795,w024;78796,w024a;78797,w025;78798,x001;78799,x002;78800,x003;78801,x004;78802,x004a;78803,x004b;78804,x005;78805,x006;78806,x006a;78807,x007;78808,x008;78809,x008a;78810,y001;78811,y001a;78812,y002;78813,y003;78814,y004;78815,y005;78816,y006;78817,y007;78818,y008;78819,z001;78820,z002;78821,z002a;78822,z002b;78823,z002c;78824,z002d;78825,z003;78826,z003a;78827,z003b;78828,z004;78829,z004a;78830,z005;78831,z005a;78832,z006;78833,z007;78834,z008;78835,z009;78836,z010;78837,z011;78838,z012;78839,z013;78840,z014;78841,z015;78842,z015a;78843,z015b;78844,z015c;78845,z015d;78846,z015e;78847,z015f;78848,z015g;78849,z015h;78850,z015i;78851,z016;78852,z016a;78853,z016b;78854,z016c;78855,z016d;78856,z016e;78857,z016f;78858,z016g;78859,z016h;78860
,aa001;78861,aa002;78862,aa003;78863,aa004;78864,aa005;78865,aa006;78866,aa007;78867,aa007a;78868,aa007b;78869,aa008;78870,aa009;78871,aa010;78872,aa011;78873,aa012;78874,aa013;78875,aa014;78876,aa015;78877,aa016;78878,aa017;78879,aa018;78880,aa019;78881,aa020;78882,aa021;78883,aa022;78884,aa023;78885,aa024;78886,aa025;78887,aa026;78888,aa027;78889,aa028;78890,aa029;78891,aa030;78892,aa031;78893,aa032;78894}\mfssortaseq[ancient]{egytran}{<}
%=
\begin{document}
\section{Sample}\par\noindent Egyptian Hieroglyphs: \trftext[ancient]{egytran}{a001e026m012h}
\bigskip
\mm*{\ftext{ABC abc}}
\mm{\ftext{ABC abc}}
\mm*{\ftextm{ABC abc}}
\mm{\ftextm{ABC abc}}
\section{Reference}
\subsection{Egyptian Hieroglyphs}|\printtrscheme[ancient][ancient]{egytran}{egyptianhieroglyphs}[5]|
\end{document}