summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-04-17 20:51:02 +0000
committerKarl Berry <karl@freefriends.org>2021-04-17 20:51:02 +0000
commit30bbfbc87310279982196296b18fe2a2081e8681 (patch)
treeb193cb8724a161945f7a0620b5b0e7a6b38a0a33 /Master/texmf-dist/tex
parentffc9b9693ac9cf80c1e446aa068f1eaac2c4637d (diff)
mahjong (17apr21)
git-svn-id: svn://tug.org/texlive/trunk@58896 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/mahjong.sty204
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0m.pdfbin0 -> 4657 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0p.pdfbin0 -> 4432 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0s.pdfbin0 -> 4974 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1m.pdfbin0 -> 3997 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1p.pdfbin0 -> 4465 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1s.pdfbin0 -> 16962 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1z.pdfbin0 -> 3463 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2m.pdfbin0 -> 4050 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2p.pdfbin0 -> 3860 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2s.pdfbin0 -> 3391 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2z.pdfbin0 -> 3499 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3m.pdfbin0 -> 4168 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3p.pdfbin0 -> 3725 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3s.pdfbin0 -> 3996 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3z.pdfbin0 -> 3170 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4m.pdfbin0 -> 4327 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4p.pdfbin0 -> 3897 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4s.pdfbin0 -> 4298 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4z.pdfbin0 -> 3129 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5m.pdfbin0 -> 4584 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5p.pdfbin0 -> 4363 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5s.pdfbin0 -> 4925 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5z.pdfbin0 -> 2281 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6m.pdfbin0 -> 4373 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6p.pdfbin0 -> 4778 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6s.pdfbin0 -> 5312 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6z.pdfbin0 -> 4206 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7m.pdfbin0 -> 4096 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7p.pdfbin0 -> 5363 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7s.pdfbin0 -> 5114 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7z.pdfbin0 -> 2994 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8m.pdfbin0 -> 4047 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8p.pdfbin0 -> 5209 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8s.pdfbin0 -> 4968 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9m.pdfbin0 -> 4248 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9p.pdfbin0 -> 5812 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9s.pdfbin0 -> 5908 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Back.pdf72
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Blank.pdf72
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Front.pdfbin0 -> 1244 bytes
-rw-r--r--Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Space.pdfbin0 -> 2281 bytes
42 files changed, 348 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mahjong/mahjong.sty b/Master/texmf-dist/tex/latex/mahjong/mahjong.sty
new file mode 100644
index 00000000000..b0b58e439ec
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/mahjong.sty
@@ -0,0 +1,204 @@
+%%
+%% This is file `mahjong.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mahjong.dtx (with options: `pkg')
+%% Copyright (c) 2021 Daniel Schmitz
+%%
+%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
+%% associated documentation files (the "Software"), to deal in the Software without restriction,
+%% including without limitation the rights to use, copy, modify, merge, publish, distribute,
+%% sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+%% furnished to do so, subject to the following conditions:
+%%
+%% The above copyright notice and this permission notice shall be included in all copies or substantial
+%% portions of the Software.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
+%% NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+%% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+%% DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
+%% OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
+
+
+\NeedsTeXFormat{LaTeX2e}[2019/10/01]
+\RequirePackage{expl3}
+\ProvidesExplPackage{mahjong}{2021/04/16}{1.0.1}{Typeset Mahjong Hands}
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
+\RequirePackage{graphicx}
+\RequirePackage{stackengine}
+
+\msg_new:nnnn {mahjong} {invalid_token}
+{Token ~ #1 ~ is ~ not ~ valid ~ in ~ MPSZ ~ notation}
+{Valid ~ tokens ~ are ~ digits ~ 0-9, ~ m, ~ p, ~ s, ~ z, ~ x, ~ -, ~ ?, ~ ', ~ and ~ " }
+\msg_new:nnnn {mahjong} {unknown_tile}
+{I~don't~know~tile~#1.}
+{Please~check~the~documentation~for~recognized~tiles.}
+\msg_new:nnnn {mahjong} {unknown_orientation}
+{Orientation ~ #1 ~ is ~ unknown}
+{This ~ should ~ not ~ happen.~ Please ~ create ~ a ~ bug ~ report.}
+
+\keys_define:nn {mahjong} {
+ height .dim_gset:N = \g_mahjong_default_height
+}
+
+\cs_new:Npn \c__mahjong_suits_tl {mpsz}
+\cs_new:Npn \c__mahjong_allowed_tokens_tl {0123456789mpsz-?x'"}
+
+\tl_new:N \l__mahjong_suit_tl
+\tl_new:N \l__mahjong_tiles_tl
+\tl_new:N \l__mahjong_reversed_tl
+\tl_new:N \l__mahjong_hand_tl
+\tl_new:N \l__mahjong_current_suit_tl
+\tl_new:N \l__mahjong_current_group_tl
+\tl_new:N \l__mahjong_current_char
+
+\dim_set:Nn \g_mahjong_default_height {\baselineskip}
+\dim_new:N \l_mahjong_tile_height
+
+\int_new:N \l__mahjong_tile_orientation_int
+\seq_new:N \l__mahjong_tile_maps_seq
+\str_new:N \l__mahjong_file_path_str
+
+\ProcessKeysPackageOptions{mahjong}
+
+\cs_set:Npn \__mahjong_make_tile:nn #1#2 {
+ \file_if_exist:nTF {#1} {
+ \int_case:nnF {#2} {
+ {0} {
+ \stackinset{c}{0pt}{c}{0pt}{
+ \includegraphics[
+ angle=0,
+ height=.85\l_mahjong_tile_height]
+ {#1}
+ }{
+ \includegraphics[
+ angle=0,
+ height=\l_mahjong_tile_height]
+ {tiles/mahjong-Front.pdf}
+ }
+ } {1} {
+ \stackinset{c}{0pt}{c}{0pt}{
+ \includegraphics[
+ angle=90,
+ width=.85\l_mahjong_tile_height]
+ {#1}
+ }{
+ \includegraphics[
+ angle=90,
+ width=\l_mahjong_tile_height]
+ {tiles/mahjong-Front.pdf}
+ }
+ } {2} {
+ % Stack 2 rotated tiles on top of each other.
+ \stackon [0pt] {
+ \__mahjong_make_tile:nn {#1} {1}
+ } {
+ \__mahjong_make_tile:nn {#1} {1}
+ }
+ }
+ } {
+ \msg_fatal:nnx {mahjong} {unknown_orientation} {#2}
+ }
+ } {
+ \msg_error:nnx {mahjong} {unknown_tile} {#1}
+ }
+}
+
+\cs_generate_variant:Nn \__mahjong_make_tile:nn {VV, xV, nV}
+\cs_set:Npn \mahjong_typeset_hand:n #1 {
+ \tl_set:Nx \l__mahjong_hand_tl {\text_lowercase:n {#1}}
+ % MPSZ notation is easier to parse right-to-left, so reverse string
+ % There is no string reversal function but we can reverse token lists
+ % Token lists and strings are freely convertible between each other
+ \tl_set:Nx \l__mahjong_reversed_tl {\tl_reverse:V \l__mahjong_hand_tl}
+ \tl_map_variable:NNn \l__mahjong_reversed_tl \l__mahjong_current_char {
+ % Check if we recognize the current token
+ \exp_args:NVV \tl_if_in:nnF \c__mahjong_allowed_tokens_tl \l__mahjong_current_char {
+ \msg_error:nnx {mahjong} {invalid_token} {\l__mahjong_current_char}
+ }
+ \exp_args:NVV \tl_if_in:nnTF \c__mahjong_suits_tl \l__mahjong_current_char {
+ % If we've found a suit identifier, change the current suit
+ \tl_set:NV \l__mahjong_current_suit_tl \l__mahjong_current_char
+ } {
+ \str_case:VnF \l__mahjong_current_char {
+ {'} {
+ % An apostrophe indicates that the next tile is rotated
+ \int_set:Nn \l__mahjong_tile_orientation_int {1}
+ }
+ {"} {
+ % Quotes mean the next tile is actually 2 rotated tiles stacked on top of each other
+ \int_set:Nn \l__mahjong_tile_orientation_int {2}
+ }
+ } {
+ % Default case: We've got a complete tile identifier
+ % Turn it into a property list
+ \prop_clear:N \l_tmpa_prop
+ \prop_put:NnV \l_tmpa_prop {suit} \l__mahjong_current_suit_tl
+ \prop_put:NnV \l_tmpa_prop {face} \l__mahjong_current_char
+ \prop_put:NnV \l_tmpa_prop {orientation} \l__mahjong_tile_orientation_int
+ % Add it to the beginning of the sequence (we are parsing in reverse)
+ \seq_put_left:NV \l__mahjong_tile_maps_seq \l_tmpa_prop
+ \int_set:Nn \l__mahjong_tile_orientation_int {0}
+ }
+ }
+ }
+ % Typesetting begins here. Sequence is in correct order
+ \seq_map_variable:NNn \l__mahjong_tile_maps_seq \l_tmpa_prop {
+ \prop_get:NnN \l_tmpa_prop {face} \l_tmpa_tl
+ \prop_get:NnN \l_tmpa_prop {orientation} \l_tmpa_int
+ \str_case:VnF \l_tmpa_tl {
+ {-} {
+ % If the current face is a dash, insert a space
+ \includegraphics[height=\l_mahjong_tile_height]{tiles/mahjong-Space.pdf}
+ } {x} {
+ % Insert a flipped tile
+ \int_case:nn {\l_tmpa_int} {
+ {0} { % Upright
+ \includegraphics[
+ angle=0,
+ height=\l_mahjong_tile_height]
+ {tiles/mahjong-Back.pdf}
+ } {1} { % Rotated
+ \includegraphics[
+ angle=90,
+ width=\l_mahjong_tile_height]
+ {tiles/mahjong-Back.pdf}
+ } {2} { % Rotated and stacked
+ \stackon [0pt] {
+ \includegraphics[
+ angle=90,
+ width=\l_mahjong_tile_height]
+ {tiles/mahjong-Back.pdf}
+ } {
+ \includegraphics[angle=90,
+ width=\l_mahjong_tile_height]
+ {tiles/mahjong-Back.pdf}
+ }
+ }
+ }
+ } {?} { % Blank tile
+ \__mahjong_make_tile:nV {tiles/mahjong-Blank.pdf} \l_tmpa_int
+ }
+ } { % Any other tile identified by a code.
+ \__mahjong_make_tile:xV {tiles/mahjong-\l_tmpa_tl\prop_item:Nn \l_tmpa_prop {suit}.pdf} \l_tmpa_int
+ }
+ }
+ % Clear the list for the next invocation
+ \seq_clear:N \l__mahjong_tile_maps_seq
+}
+
+\cs_generate_variant:Nn \__mahjong_typeset_hand:n {x}
+\NewDocumentCommand{\mahjong}{O{\g_mahjong_default_height} m}{
+ \dim_set:Nn \l_mahjong_tile_height {#1}
+ \mahjong_typeset_hand:n {#2}
+}
+\endinput
+%%
+%% End of file `mahjong.sty'.
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0m.pdf
new file mode 100644
index 00000000000..847242a5726
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0p.pdf
new file mode 100644
index 00000000000..4bbf1d0a870
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0s.pdf
new file mode 100644
index 00000000000..a543f3d0a02
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-0s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1m.pdf
new file mode 100644
index 00000000000..83ab34999af
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1p.pdf
new file mode 100644
index 00000000000..7b5034abd0a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1s.pdf
new file mode 100644
index 00000000000..b963ece881e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1z.pdf
new file mode 100644
index 00000000000..35743a24ae4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-1z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2m.pdf
new file mode 100644
index 00000000000..a252424bc17
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2p.pdf
new file mode 100644
index 00000000000..8aba2ebcb10
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2s.pdf
new file mode 100644
index 00000000000..d27c4077931
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2z.pdf
new file mode 100644
index 00000000000..5dd1b046494
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-2z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3m.pdf
new file mode 100644
index 00000000000..abc870258de
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3p.pdf
new file mode 100644
index 00000000000..11f8fce3df7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3s.pdf
new file mode 100644
index 00000000000..4156f417259
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3z.pdf
new file mode 100644
index 00000000000..59dabc8fe3b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-3z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4m.pdf
new file mode 100644
index 00000000000..7cfa8bee4ca
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4p.pdf
new file mode 100644
index 00000000000..b8c8f611cee
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4s.pdf
new file mode 100644
index 00000000000..33621ef290b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4z.pdf
new file mode 100644
index 00000000000..91e8614d7f9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-4z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5m.pdf
new file mode 100644
index 00000000000..7e781c266a3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5p.pdf
new file mode 100644
index 00000000000..6a4d090ff42
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5s.pdf
new file mode 100644
index 00000000000..fd729c9a896
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5z.pdf
new file mode 100644
index 00000000000..53a731f4490
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-5z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6m.pdf
new file mode 100644
index 00000000000..8341644d59c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6p.pdf
new file mode 100644
index 00000000000..28832f6c176
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6s.pdf
new file mode 100644
index 00000000000..92b96149e8f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6z.pdf
new file mode 100644
index 00000000000..df836b96f0b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-6z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7m.pdf
new file mode 100644
index 00000000000..91f0f11274f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7p.pdf
new file mode 100644
index 00000000000..97e28ec00a1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7s.pdf
new file mode 100644
index 00000000000..dc9e03da54e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7z.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7z.pdf
new file mode 100644
index 00000000000..0402a4bda6c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-7z.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8m.pdf
new file mode 100644
index 00000000000..5cacf6a975c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8p.pdf
new file mode 100644
index 00000000000..51d2a2dfe09
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8s.pdf
new file mode 100644
index 00000000000..a9531d2c502
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-8s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9m.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9m.pdf
new file mode 100644
index 00000000000..711c0c7f328
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9m.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9p.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9p.pdf
new file mode 100644
index 00000000000..fd0a9aca8c7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9p.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9s.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9s.pdf
new file mode 100644
index 00000000000..fafdd63c884
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-9s.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Back.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Back.pdf
new file mode 100644
index 00000000000..b134215024d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Back.pdf
@@ -0,0 +1,72 @@
+%PDF-1.4
+%쏢
+%%Invocation: path/gs -P- -dSAFER -dCompatibilityLevel=1.4 -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=? -sOutputFile=? -P- -dSAFER -dCompatibilityLevel=1.4 ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+x]KB! E]E7`gD@?|b !}! s CYN[q\&81ः$Jщꑡ%%*;w'5Rγ D # 3ו$ʥnލנ.ԇU  V<endstream
+endobj
+6 0 obj
+146
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 225 300]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1195>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.53.3'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2021-04-05T20:21:28+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2021-04-05T20:21:28+02:00</xmp:CreateDate>
+<xmp:CreatorTool>GPL Ghostscript 9533 (ps2write)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:499c5954-ce58-11f6-0000-8cdb42dd55f4'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.53.3)
+/CreationDate(D:20210405202128+02'00')
+/ModDate(D:20210405202128+02'00')
+/Creator(GPL Ghostscript 9533 \(ps2write\))>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000590 00000 n
+0000001925 00000 n
+0000000531 00000 n
+0000000417 00000 n
+0000000182 00000 n
+0000000398 00000 n
+0000000654 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<FD45E84558D170C61AC891B6AF2FDB1D><FD45E84558D170C61AC891B6AF2FDB1D>]
+>>
+startxref
+2094
+%%EOF
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Blank.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Blank.pdf
new file mode 100644
index 00000000000..c0bea0b96b0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Blank.pdf
@@ -0,0 +1,72 @@
+%PDF-1.4
+%쏢
+%%Invocation: path/gs -P- -dSAFER -dCompatibilityLevel=1.4 -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=? -sOutputFile=? -P- -dSAFER -dCompatibilityLevel=1.4 ?
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xmSq[1 *@0(#5h`Yв5N"(.]^Lxvm@s˥N{/Ň<p)WZҵI7KUSƺ]aTd":(wބR$Mzv()"r39"{"ŵe2,X&12 "Sd<Ml^Dm Qcv&{\8#Ħ1^0IrRD;gJLdg:/lX1/R$Ó5IüST\$N-bY:Kxr^U}h}4MzZx]EzAM,CAG>0@qY&3Ed>Wg8R sE1txCcD3Mħ4 Nl`G8~urҶ㟘~ήendstream
+endobj
+6 0 obj
+442
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 225 300]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 7 0 R
+>>
+endobj
+7 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1195>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about="" xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.53.3'/>
+<rdf:Description rdf:about="" xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2021-04-05T20:21:28+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2021-04-05T20:21:28+02:00</xmp:CreateDate>
+<xmp:CreatorTool>GPL Ghostscript 9533 (ps2write)</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about="" xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:499c5954-ce58-11f6-0000-3fd31d066f7a'/>
+<rdf:Description rdf:about="" xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.53.3)
+/CreationDate(D:20210405202128+02'00')
+/ModDate(D:20210405202128+02'00')
+/Creator(GPL Ghostscript 9533 \(ps2write\))>>endobj
+xref
+0 8
+0000000000 65535 f
+0000000886 00000 n
+0000002221 00000 n
+0000000827 00000 n
+0000000713 00000 n
+0000000182 00000 n
+0000000694 00000 n
+0000000950 00000 n
+trailer
+<< /Size 8 /Root 1 0 R /Info 2 0 R
+/ID [<A14E4ACDE358009ED2B5C0F368B47857><A14E4ACDE358009ED2B5C0F368B47857>]
+>>
+startxref
+2390
+%%EOF
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Front.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Front.pdf
new file mode 100644
index 00000000000..2d5e1ca0c3b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Front.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Space.pdf b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Space.pdf
new file mode 100644
index 00000000000..53bfe4dc594
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/mahjong/tiles/mahjong-Space.pdf
Binary files differ