Skip to main content

Plane 1 Unicode in MathFlow

Applicability

The information on this page applies to:

MathFlow 1.x for Arbortext

MathFlow 1.x for XMetaL

Issue

Your XML publishing system requires the use of Plane 1 Unicode characters, but MathFlow does not support Plane 1 Unicode.

Solution

In earlier versions of Unicode, Design Science recognized that several mathematical characters were missing and assigned parts of the Private Use Area (PUA) of Unicode to these characters for use in Design Science software. Plane 1 Unicode is an extension of Unicode that adds support for characters that were overlooked in earlier versions, many of which are the same characters included in Design Science's PUA tables.

MathFlow provides a mapping mechanism that allows you to substitute Design Science PUA for Plane 1 characters on incoming MathML expressions and vice versa for outgoing expressions. Therefore, equations created in MathFlow can be saved to your XML document with Plane 1 Unicode in use where necessary. Full details on MathFlow's entity mapping feature can be found in the MathFlow documentation in the section "Mapping Entity Codes," which can be accessed from the Index.

Below is a list of mappings to include in your charmap.txt file to properly convert Plane 1 Unicode / Design Science PUA.

[Incoming Table] # Plane 1 Unicode to Design Science's PUA # Ascr 0x1D49C 0xF100 # Cscr 0x1D49E 0xF102 # Dscr 0x1D49F 0xF103 # Gscr 0x1D4A2 0xF106 # Jscr 0x1D4A5 0xF109 # Kscr 0x1D4A6 0xF10A # Nscr 0x1D4A9 0xF10D # Oscr 0x1D4AA 0xF10E # Pscr 0x1D4AB 0xF10F # Qscr 0x1D4AC 0xF110 # Sscr 0x1D4AE 0xF112 # Tscr 0x1D4AF 0xF113 # Uscr 0x1D4B0 0xF114 # Vscr 0x1D4B1 0xF115 # Wscr 0x1D4B2 0xF116 # Xscr 0x1D4B3 0xF117 # Yscr 0x1D4B4 0xF118 # Zscr 0x1D4B5 0xF119 # ascr 0x1D4B6 0xF11A # bscr 0x1D4B7 0xF11B # cscr 0x1D4B8 0xF11C # dscr 0x1D4B9 0xF11D # fscr 0x1D4BB 0xF11F # hscr 0x1D4BD 0xF121 # iscr 0x1D4BE 0xF122 # jscr 0x1D4BF 0xF123 # kscr 0x1D4C0 0xF124 # mscr 0x1D4C2 0xF126 # nscr 0x1D4C3 0xF127 # pscr 0x1D4C5 0xF129 # qscr 0x1D4C6 0xF12A # rscr 0x1D4C7 0xF12B # sscr 0x1D4C8 0xF12C # tscr 0x1D4C9 0xF12D # uscr 0x1D4CA 0xF12E # vscr 0x1D4CB 0xF12F # wscr 0x1D4CC 0xF131 # xscr 0x1D4CD 0xF131 # yscr 0x1D4CE 0xF132 # zscr 0x1D4CF 0xF133 # Afr 0x1D504 0xF000 # Bfr 0x1D505 0xF001 # Dfr 0x1D507 0xF003 # Efr 0x1D508 0xF004 # Ffr 0x1D509 0xF005 # Gfr 0x1D50A 0xF006 # Jfr 0x1D50D 0xF009 # Kfr 0x1D50E 0xF00A # Lfr 0x1D50F 0xF00B # Mfr 0x1D510 0xF00C # Nfr 0x1D511 0xF00D # Ofr 0x1D512 0xF00E # Pfr 0x1D513 0xF00F # Qfr 0x1D514 0xF010 # Sfr 0x1D516 0xF012 # Tfr 0x1D517 0xF013 # Ufr 0x1D518 0xF014 # Vfr 0x1D519 0xF015 # Wfr 0x1D51A 0xF016 # Xfr 0x1D51B 0xF017 # Yfr 0x1D51C 0xF018 # afr 0x1D51E 0xF01A # bfr 0x1D51F 0xF01B # cfr 0x1D520 0xF01C # dfr 0x1D521 0xF01D # efr 0x1D522 0xF01E # ffr 0x1D523 0xF01F # gfr 0x1D524 0xF020 # hfr 0x1D525 0xF021 # ifr 0x1D526 0xF022 # jfr 0x1D527 0xF023 # kfr 0x1D528 0xF024 # lfr 0x1D529 0xF025 # mfr 0x1D52A 0xF026 # nfr 0x1D52B 0xF027 # ofr 0x1D52C 0xF028 # pfr 0x1D52D 0xF029 # qfr 0x1D52E 0xF02A # rfr 0x1D52F 0xF02B # sfr 0x1D530 0xF02C # tfr 0x1D531 0xF02D # ufr 0x1D532 0xF02E # vfr 0x1D533 0xF02F # wfr 0x1D534 0xF030 # xfr 0x1D535 0xF031 # yfr 0x1D536 0xF032 # zfr 0x1D537 0xF033 # Aopf 0x1D538 0xF080 # Bopf 0x1D539 0xF081 # Dopf 0x1D53B 0xF083 # Eopf 0x1D53C 0xF084 # Fopf 0x1D53D 0xF085 # Gopf 0x1D53E 0xF086 # Iopf 0x1D540 0xF088 # Jopf 0x1D541 0xF089 # Kopf 0x1D542 0xF08A # Lopf 0x1D543 0xF08B # Mopf 0x1D544 0xF08C # Oopf 0x1D546 0xF08E # Sopf 0x1D54A 0xF092 # Topf 0x1D54B 0xF093 # Uopf 0x1D54C 0xF094 # Vopf 0x1D54D 0xF095 # Wopf 0x1D54E 0xF096 # Xopf 0x1D54F 0xF097 # Yopf 0x1D550 0xF098

[Outgoing Table] # Design Science PUA to Plane 1 Unicode # Ascr 0xF100 0x1D49C # Cscr 0xF102 0x1D49E # Dscr 0xF103 0x1D49F # Gscr 0xF106 0x1D4A2 # Jscr 0xF109 0x1D4A5 # Kscr 0xF10A 0x1D4A6 # Nscr 0xF10D 0x1D4A9 # Oscr 0xF10E 0x1D4AA # Pscr 0xF10F 0x1D4AB # Qscr 0xF110 0x1D4AC # Sscr 0xF112 0x1D4AE # Tscr 0xF113 0x1D4AF # Uscr 0xF114 0x1D4B0 # Vscr 0xF115 0x1D4B1 # Wscr 0xF116 0x1D4B2 # Xscr 0xF117 0x1D4B3 # Yscr 0xF118 0x1D4B4 # Zscr 0xF119 0x1D4B5 # ascr 0xF11A 0x1D4B6 # bscr 0xF11B 0x1D4B7 # cscr 0xF11C 0x1D4B8 # dscr 0xF11D 0x1D4B9 # fscr 0xF11F 0x1D4BB # hscr 0xF121 0x1D4BD # iscr 0xF122 0x1D4BE # jscr 0xF123 0x1D4BF # kscr 0xF124 0x1D4C0 # mscr 0xF126 0x1D4C2 # nscr 0xF127 0x1D4C3 # pscr 0xF129 0x1D4C5 # qscr 0xF12A 0x1D4C6 # rscr 0xF12B 0x1D4C7 # sscr 0xF12C 0x1D4C8 # tscr 0xF12D 0x1D4C9 # uscr 0xF12E 0x1D4CA # vscr 0xF12F 0x1D4CB # wscr 0xF131 0x1D4CC # xscr 0xF131 0x1D4CD # yscr 0xF132 0x1D4CE # zscr 0xF133 0x1D4CF # Afr 0xF000 0x1D504 # Bfr 0xF001 0x1D505 # Dfr 0xF003 0x1D507 # Efr 0xF004 0x1D508 # Ffr 0xF005 0x1D509 # Gfr 0xF006 0x1D50A # Jfr 0xF009 0x1D50D # Kfr 0xF00A 0x1D50E # Lfr 0xF00B 0x1D50F # Mfr 0xF00C 0x1D510 # Nfr 0xF00D 0x1D511 # Ofr 0xF00E 0x1D512 # Pfr 0xF00F 0x1D513 # Qfr 0xF010 0x1D514 # Sfr 0xF012 0x1D516 # Tfr 0xF013 0x1D517 # Ufr 0xF014 0x1D518 # Vfr 0xF015 0x1D519 # Wfr 0xF016 0x1D51A # Xfr 0xF017 0x1D51B # Yfr 0xF018 0x1D51C # afr 0xF01A 0x1D51E # bfr 0xF01B 0x1D51F # cfr 0xF01C 0x1D520 # dfr 0xF01D 0x1D521 # efr 0xF01E 0x1D522 # ffr 0xF01F 0x1D523 # gfr 0xF020 0x1D524 # hfr 0xF021 0x1D525 # ifr 0xF022 0x1D526 # jfr 0xF023 0x1D527 # kfr 0xF024 0x1D528 # lfr 0xF025 0x1D529 # mfr 0xF026 0x1D52A # nfr 0xF027 0x1D52B # ofr 0xF028 0x1D52C # pfr 0xF029 0x1D52D # qfr 0xF02A 0x1D52E # rfr 0xF02B 0x1D52F # sfr 0xF02C 0x1D530 # tfr 0xF02D 0x1D531 # ufr 0xF02E 0x1D532 # vfr 0xF02F 0x1D533 # wfr 0xF030 0x1D534 # xfr 0xF031 0x1D535 # yfr 0xF032 0x1D536 # zfr 0xF033 0x1D537 # Aopf 0xF080 0x1D538 # Bopf 0xF081 0x1D539 # Dopf 0xF083 0x1D53B # Eopf 0xF084 0x1D53C # Fopf 0xF085 0x1D53D # Gopf 0xF086 0x1D53E # Iopf 0xF088 0x1D540 # Jopf 0xF089 0x1D541 # Kopf 0xF08A 0x1D542 # Lopf 0xF08B 0x1D543 # Mopf 0xF08C 0x1D544 # Oopf 0xF08E 0x1D546 # Sopf 0xF092 0x1D54A # Topf 0xF093 0x1D54B # Uopf 0xF094 0x1D54C # Vopf 0xF095 0x1D54D # Wopf 0xF096 0x1D54E # Xopf 0xF097 0x1D54F # Yopf 0xF098 0x1D550

We hope this has been helpful. As always, please let us know if you have questions about this, or if you have additional techniques that work. We'd love to hear from you.