├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── Makefile ├── OFL.txt ├── README.en.md ├── README.md ├── generate.py ├── glyphs ├── _box.svg ├── _circle.svg ├── book.svg ├── chat.svg ├── d10.svg ├── fist.svg ├── gear.svg ├── heart.svg ├── shield.svg ├── suit.svg ├── target.svg ├── time_after.svg ├── time_before.svg ├── tools.svg └── weight.svg ├── testfont.tex └── ttf ├── NIPAJIN-Dingbats-Bold.ttf ├── NIPAJIN-Dingbats-Italic.ttf └── NIPAJIN-Dingbats.ttf /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2015-09-19) 2 | 3 | Noteworthy changes: 4 | 5 | * split according to icon shape in regular (= no additional outline), bold (= dice boxes) and italic (= circles) 6 | * improved margins 7 | * improved relative sizes 8 | * cleaned up some shapes 9 | 10 | ## v1.0.0 (2015-09-15) 11 | 12 | Noteworthy changes: 13 | 14 | * first release 15 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | Copyright (c) 2015, Markus Leupold-Löwenthal (http://ludus-leonis.com/), 4 | with Reserved Font Name "NIP'AJIN Dingbats". 5 | 6 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 7 | 8 | For a complete version of this license, please refer to [OFL.txt](OFL.txt). 9 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # (c) 2009-2015 by Markus Leupold-Löwenthal 2 | # This file is released under CC BY-SA 4.0. 3 | 4 | default: font 5 | 6 | all: font 7 | 8 | setup: 9 | mkdir -p out 10 | 11 | font: setup 12 | python generate.py 13 | cp OFL.txt out/OFL.txt 14 | 15 | test: font 16 | xelatex \ 17 | -output-driver="xdvipdfmx -V 5 -z 9" \ 18 | -jobname=testfont \ 19 | -output-directory out testfont 20 | 21 | clean: 22 | rm -rf out/* 23 | -------------------------------------------------------------------------------- /OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Markus Leupold-Löwenthal (http://ludus-leonis.com/), 2 | with Reserved Font Name "NIP'AJIN Dingbats". 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /README.en.md: -------------------------------------------------------------------------------- 1 | # NIP'AJIN Dingbats 2 | 3 | [Deutsch](README.md) | [English](README.en.md). 4 | 5 | ## About 6 | 7 | This repository contains the sources and binaries for the SIL OFL 1.1 licensed font *NIP'AJIN Dingbats*. It contains a few symbols, that are used in the pen'n'paper role playing game NIP'AJIN: 8 | 9 | * `a` - time-after 10 | * `b` - time-before 11 | * `p` - book 12 | * `f` - fist 13 | * `h` - heart 14 | * `s` - shield 15 | * `t` - target 16 | 17 | The regular font contains the symbols as bare icons. The bold fond contains the symbols in rounden squares (dice), the italic font in circles. 18 | 19 | ## Quickstart 20 | 21 | The subdirectory `ttf` contains the ready-to-use fonts. `glyphs` contains a `.svg` file for each letter/symbol of the font. A Python script, `generate.py` can convert them into a TrueType font file. It requires FontForge and the FontForge-Pyhton-bindings being installed. Running 22 | 23 | ``` 24 | nipajin-dingbats$ make 25 | ``` 26 | 27 | will recreate the `.ttf` files into an `out` folder. 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NIP'AJIN Dingbats 2 | 3 | [Deutsch](README.md) | [English](README.en.md). 4 | 5 | ## Über 6 | 7 | Dieses Repository enthält die Quellen und Binärdateien für die SIL OFL 1.1 lizensierte Symbol-Schriftart *NIP'AJIN Dingbats*. Diese enthält eine Handvoll, im Pen'n'Paper Rollenspiel [NIP'AJIN](http://ludus-leonis.com/nipajin) Verwendung findende Symbole: 8 | 9 | * `a` - Zeit-danach 10 | * `b` - Zeit-davor 11 | * `f` - Faust 12 | * `h` - Herz 13 | * `p` - Buch 14 | * `s` - Schild 15 | * `t` - Zielscheibe 16 | 17 | Der reguläre Schriftschnitt enthält die Symbole auf "weißem" Grund. Der fette Schnitt enthält die Symbole in abgerundeten Quadraten (Würfel), der kursive Schnitt in Kreisen. 18 | 19 | ## Schnellanleitung 20 | 21 | Das Verzeichnis `ttf` enthält die TrueType Schrift-Dateien. In `glyphs` befinden sich für die einzelnen Zeichen/Buchstaben der Schriftart je eine `.svg` Datei. Aus diesen Dateien kann das Python-Script `generate.py` eine TrueType Schriftfamlie generieren. Voraussetzung dafür ist, dass [FontForge](http://fontforge.github.io) und die FontForge-Python-Bindings installiert sind. Dann können mit 22 | 23 | ``` 24 | nipajin-dingbats$ make 25 | ``` 26 | 27 | die `.ttf` Dateien neu erstellt werden. Diese sind nach dem Lauf im Ordner `out` zu finden. 28 | -------------------------------------------------------------------------------- /generate.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # simple .svg to .ttf icon font converter, (c) 2015 Markus Leupold-Löwenthal 4 | 5 | import fontforge, psMat 6 | 7 | fontname = "NIPAJIN-Dingbats" 8 | fullname = "NIP'AJIN Dingbats" 9 | familyname = "NIP'AJIN Dingbats" 10 | version = "v1.1" 11 | copyright = "Copyright (c) 2015, LUDUS LEONIS / Markus Leupold-Loewenthal (http://ludus-leonis.com/),\nwith Reserved Font Name \"NIP'AJIN Dingbats\".\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\nThis license is available with a FAQ at: http://scripts.sil.org/OFL" 12 | 13 | def getGlyphWidth(glyph): 14 | "determine width of a given glyph" 15 | box = glyph.boundingBox() 16 | return box[2] - box[0] 17 | 18 | def getGlyphHeight(glyph): 19 | "determine height of a given glyph" 20 | box = glyph.boundingBox() 21 | return box[3] - box[1] 22 | 23 | def addIcon( font, glyph, svgFileName ): 24 | "add a svg as icon glyph" 25 | glyph = font.createChar(glyph) 26 | glyph.importOutlines(svgFileName) 27 | glyph.correctDirection() 28 | return; 29 | 30 | def addDie( font, glyph, svgFileName, yOffset = 0 ): 31 | "add a svg as glyph (with a box)" 32 | scale = 0.75 33 | glyph = font.createChar(glyph) 34 | 35 | # get and store true width for later, as it will get distorted 36 | glyph.importOutlines("glyphs/_box.svg") 37 | width = glyph.width 38 | glyph.clear() 39 | 40 | # put icon in a die/box 41 | glyph.importOutlines(svgFileName) 42 | glyph.transform(psMat.scale(scale)) 43 | glyph.transform(psMat.translate(1000 * (1 - scale) / 2, yOffset + 1000 * (1 - scale) / 2 - 200 * (1 - scale))) 44 | glyph.importOutlines("glyphs/_box.svg") 45 | glyph.correctDirection() 46 | 47 | glyph.width = width 48 | return; 49 | 50 | def addCircle( font, glyph, svgFileName, yOffset = 0 ): 51 | "add a svg as glyph (with a circle)" 52 | scale = 0.75 53 | glyph = font.createChar(glyph) 54 | 55 | # get and store true width for later, as it will get distorted 56 | glyph.importOutlines("glyphs/_circle.svg") 57 | width = glyph.width 58 | glyph.clear() 59 | 60 | # put icon in a die/box 61 | glyph.importOutlines(svgFileName) 62 | glyph.transform(psMat.scale(scale)) 63 | glyph.transform(psMat.translate(1000 * (1 - scale) / 2, yOffset + 1000 * (1 - scale) / 2 - 200 * (1 - scale))) 64 | glyph.importOutlines("glyphs/_circle.svg") 65 | glyph.correctDirection() 66 | 67 | glyph.width = width 68 | return; 69 | 70 | # start with a new font 71 | regular = fontforge.font() # shape only 72 | bold = fontforge.font() # box shapes 73 | italic = fontforge.font() # circle shapes 74 | 75 | # add some meta-data 76 | regular.fontname = fontname + "-Regular" 77 | regular.fullname = fullname 78 | regular.familyname = familyname 79 | regular.version = version 80 | regular.copyright = copyright 81 | bold.fontname = fontname + "-Bold" 82 | bold.fullname = fullname + " Bold" 83 | bold.familyname = familyname 84 | bold.version = version 85 | bold.copyright = copyright 86 | bold.fontname = fontname + "-Italic" 87 | bold.fullname = fullname + " Italic" 88 | bold.familyname = familyname 89 | bold.version = version 90 | bold.copyright = copyright 91 | 92 | # add dice 93 | addIcon (regular, ord('4'), "glyphs/d10.svg") 94 | addDie (bold, ord('4'), "glyphs/d10.svg") 95 | addCircle (italic, ord('4'), "glyphs/d10.svg") 96 | 97 | # add symbols 98 | addIcon (regular, ord('f'), "glyphs/fist.svg") 99 | addDie (bold, ord('f'), "glyphs/fist.svg") 100 | addCircle (italic, ord('f'), "glyphs/fist.svg") 101 | 102 | addIcon (regular, ord('s'), "glyphs/shield.svg") 103 | addDie (bold, ord('s'), "glyphs/shield.svg") 104 | addCircle (italic, ord('s'), "glyphs/shield.svg") 105 | 106 | addIcon (regular, ord('h'), "glyphs/heart.svg") 107 | addDie (bold, ord('h'), "glyphs/heart.svg") 108 | addCircle (italic, ord('h'), "glyphs/heart.svg", -20) 109 | 110 | addIcon (regular, ord('p'), "glyphs/book.svg") 111 | addDie (bold, ord('p'), "glyphs/book.svg") 112 | addCircle (italic, ord('p'), "glyphs/book.svg") 113 | 114 | addIcon (regular, ord('t'), "glyphs/target.svg") 115 | addDie (bold, ord('t'), "glyphs/target.svg") 116 | addCircle (italic, ord('t'), "glyphs/target.svg") 117 | 118 | addIcon (regular, ord('C'), "glyphs/chat.svg") 119 | addDie (bold, ord('C'), "glyphs/chat.svg") 120 | addCircle (italic, ord('C'), "glyphs/chat.svg") 121 | 122 | addIcon (regular, ord('G'), "glyphs/gear.svg") 123 | addDie (bold, ord('G'), "glyphs/gear.svg") 124 | addCircle (italic, ord('G'), "glyphs/gear.svg") 125 | 126 | addIcon (regular, ord('S'), "glyphs/suit.svg") 127 | addDie (bold, ord('S'), "glyphs/suit.svg") 128 | addCircle (italic, ord('S'), "glyphs/suit.svg") 129 | 130 | addIcon (regular, ord('T'), "glyphs/tools.svg") 131 | addDie (bold, ord('T'), "glyphs/tools.svg") 132 | addCircle (italic, ord('T'), "glyphs/tools.svg", 10) 133 | 134 | # add other game mechanic symbols 135 | addIcon (regular, ord('b'), "glyphs/time_before.svg") 136 | addIcon (bold, ord('b'), "glyphs/time_before.svg") 137 | addIcon (italic, ord('b'), "glyphs/time_before.svg") 138 | 139 | addIcon (regular, ord('a'), "glyphs/time_after.svg") 140 | addIcon (bold, ord('a'), "glyphs/time_after.svg") 141 | addIcon (italic, ord('a'), "glyphs/time_after.svg") 142 | 143 | addIcon (regular, ord('w'), "glyphs/weight.svg") 144 | addIcon (bold, ord('w'), "glyphs/weight.svg") 145 | addIcon (italic, ord('w'), "glyphs/weight.svg") 146 | 147 | # export to files 148 | flags = ("opentype", "dummy-dsig", "round", "apple") 149 | 150 | regular.generate ("out/NIPAJIN-Dingbats.ttf", flags=flags) 151 | regular.close() 152 | 153 | bold.generate ("out/NIPAJIN-Dingbats-Bold.ttf", flags=flags) 154 | bold.close() 155 | 156 | italic.generate ("out/NIPAJIN-Dingbats-Italic.ttf", flags=flags) 157 | italic.close() 158 | -------------------------------------------------------------------------------- /glyphs/_box.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 59 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /glyphs/_circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /glyphs/book.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/chat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/d10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/fist.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /glyphs/gear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /glyphs/shield.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /glyphs/suit.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/target.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /glyphs/time_after.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/time_before.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /glyphs/tools.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 64 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /glyphs/weight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 39 | 43 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 63 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /testfont.tex: -------------------------------------------------------------------------------- 1 | \documentclass{article} 2 | 3 | \usepackage{fontspec} 4 | 5 | % This simple LaTeX file will render all NIP'AJIN-Dings glyphs into a PDF. 6 | 7 | \newfontfamily{\ffdings}[ 8 | Path=out/, 9 | Mapping=tex-text, 10 | UprightFont={NIPAJIN-Dingbats}, 11 | ItalicFont={NIPAJIN-Dingbats-Italic}, 12 | BoldFont={NIPAJIN-Dingbats-Bold} 13 | ]{NIPAJIN-Dingbats} 14 | 15 | \begin{document} 16 | 17 | Regular: xxx {\ffdings \textup{tpGChwfSsb4aT}} XXX. 18 | 19 | Italic: xxx {\ffdings \textit{tpGhCwfSsb4aT}} XXX. 20 | 21 | Bold: xxx {\ffdings \textbf{tpGhCfwSsb4aT}} XXX. 22 | 23 | \end{document} 24 | -------------------------------------------------------------------------------- /ttf/NIPAJIN-Dingbats-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludus-leonis/nipajin-dingbats/407d94eafcdb0ff40387ac7f22ae1ff4f9a2bfae/ttf/NIPAJIN-Dingbats-Bold.ttf -------------------------------------------------------------------------------- /ttf/NIPAJIN-Dingbats-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludus-leonis/nipajin-dingbats/407d94eafcdb0ff40387ac7f22ae1ff4f9a2bfae/ttf/NIPAJIN-Dingbats-Italic.ttf -------------------------------------------------------------------------------- /ttf/NIPAJIN-Dingbats.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ludus-leonis/nipajin-dingbats/407d94eafcdb0ff40387ac7f22ae1ff4f9a2bfae/ttf/NIPAJIN-Dingbats.ttf --------------------------------------------------------------------------------