Plane 1 Unicode in MathFlow

The information on this page applies to:
MathFlow 1.x for ArbortextMathFlow 1.x for XMetaL

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

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.