Skip to main content
Added combined symbols
Source Link
Cicada
  • 10.7k
  • 1
  • 21
  • 41

And, of course, symbols can be combined:

for fun two

Here is a way using fontspec package's NFSSFamily= font option to refer to the font families, rather than relying on the internal auto-generated name. And the other font options, such as colour and scale, are also available.

MWE

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{amsmath,amssymb}
\usepackage{unicode-math}

\setmainfont{Liberation Serif}

\setmathfont{XITS Math}

\newfontfamily\fcyr{Noto Serif}[Colour=blue,NFSSFamily=mycyr]
\newfontfamily\farm{Noto Serif Armenian}[Colour=red,NFSSFamily=myarm]
\newfontfamily\fgeo{Noto Serif Georgian ExtraBold}[Colour=brown,NFSSFamily=mygeo]
\newfontfamily\flao{Noto Serif Lao}[Scale=1.2,NFSSFamily=mylao]
\newfontfamily\fegy{Noto Sans Egyptian Hieroglyphs}[Colour=blue,Scale=1.1,NFSSFamily=myegy]

%See: https://tex.stackexchange.com/questions/201239/cant-get-unicode-symbols-in-math-mode

\DeclareSymbolFont{cyrletters}{\encodingdefault}{mycyr}{m}{it}
\newcommand{\makecyrmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symcyrletters\endcsname\space #1
}
\count255="409
\loop\ifnum\count255<"44F
  \advance\count255 by 1
  \makecyrmathletter{\count255}
\repeat

%-----------
\DeclareSymbolFont{armletters}{\encodingdefault}{myarm}{m}{n}
\newcommand{\makearmmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symarmletters\endcsname\space #1
}
\count255="530
\loop\ifnum\count255<"587
  \advance\count255 by 1
  \makearmmathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{geoletters}{\encodingdefault}{mygeo}{m}{n}
\newcommand{\makegeomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symgeoletters\endcsname\space #1
}
\count255="109F
\loop\ifnum\count255<"10FA
  \advance\count255 by 1
  \makegeomathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{laoletters}{\encodingdefault}{mylao}{m}{n}
\newcommand{\makelaomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symlaoletters\endcsname\space #1
}
\count255="0E80
\loop\ifnum\count255<"0EDF
  \advance\count255 by 1
  \makelaomathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{egyletters}{\encodingdefault}{myegy}{m}{n}
\newcommand{\makeegymathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symegyletters\endcsname\space #1
}
%\count255="13000
%\loop\ifnum\count255<"1342E %too many?
%  \advance\count255 by 1
%  \makeegymathletter{\count255}
%\repeat
% has 1000 glyphs
\makeegymathletter{"13000}
\makeegymathletter{"13068}
\makeegymathletter{"1307B}
\makeegymathletter{"130D8}
\makeegymathletter{"131C1}



%-----------


\begin{document}

Cyrillic:

\[
(д+ф)^{2}=д^{2}+2дф+ф^{2}м
\]

Armenian:

\[
(է+թ)^{2}=գ^{2}+2ե+ճդ^2-ա
\]

Georgian:

\[
(დ+ლ)^{2}=შ^{2}+2ლ+დშ^2-ა
\]

Lao:

\[
(ມ+ວ)^{2}=ມ^{2}+2ນ+ສວ^2-ກ
\]

Egyptian Hieroglyphs:

\[
(𓇁+𓁻)^{2}=𓀀^{2}+2𓃘+𓇁𓁻^2-𓁨
\]

Combined:

\[
(𓇁_{ມ^უ}+𓁻)^{2}=𓀀^{2}+\frac{2𓃘}{է}+ф(Զ𓁻^2)-𓁨Ⴔ
\]

\end{document}

And, of course, symbols can be combined:

for fun two

Here is a way using fontspec package's NFSSFamily= font option to refer to the font families, rather than relying on the internal auto-generated name. And the other font options, such as colour and scale, are also available.

MWE

\documentclass[12pt]{article}
\usepackage{xcolor}
\usepackage{amsmath,amssymb}
\usepackage{unicode-math}

\setmainfont{Liberation Serif}

\setmathfont{XITS Math}

\newfontfamily\fcyr{Noto Serif}[Colour=blue,NFSSFamily=mycyr]
\newfontfamily\farm{Noto Serif Armenian}[Colour=red,NFSSFamily=myarm]
\newfontfamily\fgeo{Noto Serif Georgian ExtraBold}[Colour=brown,NFSSFamily=mygeo]
\newfontfamily\flao{Noto Serif Lao}[Scale=1.2,NFSSFamily=mylao]
\newfontfamily\fegy{Noto Sans Egyptian Hieroglyphs}[Colour=blue,Scale=1.1,NFSSFamily=myegy]

%See: https://tex.stackexchange.com/questions/201239/cant-get-unicode-symbols-in-math-mode

\DeclareSymbolFont{cyrletters}{\encodingdefault}{mycyr}{m}{it}
\newcommand{\makecyrmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symcyrletters\endcsname\space #1
}
\count255="409
\loop\ifnum\count255<"44F
  \advance\count255 by 1
  \makecyrmathletter{\count255}
\repeat

%-----------
\DeclareSymbolFont{armletters}{\encodingdefault}{myarm}{m}{n}
\newcommand{\makearmmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symarmletters\endcsname\space #1
}
\count255="530
\loop\ifnum\count255<"587
  \advance\count255 by 1
  \makearmmathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{geoletters}{\encodingdefault}{mygeo}{m}{n}
\newcommand{\makegeomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symgeoletters\endcsname\space #1
}
\count255="109F
\loop\ifnum\count255<"10FA
  \advance\count255 by 1
  \makegeomathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{laoletters}{\encodingdefault}{mylao}{m}{n}
\newcommand{\makelaomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symlaoletters\endcsname\space #1
}
\count255="0E80
\loop\ifnum\count255<"0EDF
  \advance\count255 by 1
  \makelaomathletter{\count255}
\repeat



%-----------
\DeclareSymbolFont{egyletters}{\encodingdefault}{myegy}{m}{n}
\newcommand{\makeegymathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symegyletters\endcsname\space #1
}
%\count255="13000
%\loop\ifnum\count255<"1342E %too many?
%  \advance\count255 by 1
%  \makeegymathletter{\count255}
%\repeat
% has 1000 glyphs
\makeegymathletter{"13000}
\makeegymathletter{"13068}
\makeegymathletter{"1307B}
\makeegymathletter{"130D8}
\makeegymathletter{"131C1}



%-----------


\begin{document}

Cyrillic:

\[
(д+ф)^{2}=д^{2}+2дф+ф^{2}м
\]

Armenian:

\[
(է+թ)^{2}=գ^{2}+2ե+ճդ^2-ա
\]

Georgian:

\[
(დ+ლ)^{2}=შ^{2}+2ლ+დშ^2-ა
\]

Lao:

\[
(ມ+ວ)^{2}=ມ^{2}+2ນ+ສວ^2-ກ
\]

Egyptian Hieroglyphs:

\[
(𓇁+𓁻)^{2}=𓀀^{2}+2𓃘+𓇁𓁻^2-𓁨
\]

Combined:

\[
(𓇁_{ມ^უ}+𓁻)^{2}=𓀀^{2}+\frac{2𓃘}{է}+ф(Զ𓁻^2)-𓁨Ⴔ
\]

\end{document}
Source Link
Cicada
  • 10.7k
  • 1
  • 21
  • 41

Just for fun - in the general case:

general algebra

MWE

\documentclass[12pt]{article}

\usepackage{amsmath,amssymb}
\usepackage{unicode-math}

\setmainfont{Liberation Serif}

\setmathfont{XITS Math}



%See: https://tex.stackexchange.com/questions/201239/cant-get-unicode-symbols-in-math-mode

\DeclareSymbolFont{cyrletters}{\encodingdefault}{\familydefault}{m}{it}
\newcommand{\makecyrmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symcyrletters\endcsname\space #1
}
\count255="409
\loop\ifnum\count255<"44F
  \advance\count255 by 1
  \makecyrmathletter{\count255}
\repeat

%-----------
\setmainfont{Noto Serif Armenian}
%\familydefault = \rmdefault
\DeclareSymbolFont{armletters}{\encodingdefault}{NotoSerifArmenian(0)}{m}{n}
\newcommand{\makearmmathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symarmletters\endcsname\space #1
}
\count255="530
\loop\ifnum\count255<"587
  \advance\count255 by 1
  \makearmmathletter{\count255}
\repeat



%-----------
\setmainfont{Noto Serif Georgian}
\DeclareSymbolFont{geoletters}{\encodingdefault}{NotoSerifGeorgian(0)}{m}{n}
\newcommand{\makegeomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symgeoletters\endcsname\space #1
}
\count255="109F
\loop\ifnum\count255<"10FA
  \advance\count255 by 1
  \makegeomathletter{\count255}
\repeat



%-----------
\setmainfont{Noto Serif Lao}
\DeclareSymbolFont{laoletters}{\encodingdefault}{NotoSerifLao(0)}{m}{n}
\newcommand{\makelaomathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symlaoletters\endcsname\space #1
}
\count255="0E80
\loop\ifnum\count255<"0EDF
  \advance\count255 by 1
  \makelaomathletter{\count255}
\repeat



%-----------
\setmainfont{Noto Sans Egyptian Hieroglyphs}
\DeclareSymbolFont{egyletters}{\encodingdefault}{NotoSansEgyptianHieroglyphs(0)}{m}{n}
\newcommand{\makeegymathletter}[1]{%
  \begingroup\lccode`a=#1\lowercase{\endgroup
  \Umathcode`a}="0 \csname symegyletters\endcsname\space #1
}
%\count255="13000
%\loop\ifnum\count255<"1342E %too many?
%  \advance\count255 by 1
%  \makeegymathletter{\count255}
%\repeat
% has 1000 glyphs
\makeegymathletter{"13000}
\makeegymathletter{"13068}
\makeegymathletter{"1307B}
\makeegymathletter{"130D8}
\makeegymathletter{"131C1}



%-----------
\setmainfont{Noto Serif}


\begin{document}

Cyrillic:

\[
(д+ф)^{2}=д^{2}+2дф+ф^{2}м
\]

Armenian:

\[
(է+թ)^{2}=գ^{2}+2ե+ճդ^2-ա
\]

Georgian:

\[
(დ+ლ)^{2}=შ^{2}+2ლ+დშ^2-ა
\]

Lao:

\[
(ມ+ວ)^{2}=ມ^{2}+2ນ+ສວ^2-ກ
\]

Egyptian Hieroglyphs:

\[
(𓇁+𓁻)^{2}=𓀀^{2}+2𓃘+𓇁𓁻^2-𓁨
\]

\end{document}