├── .gitignore ├── LICENSE ├── README.md ├── assets ├── font │ ├── BebasNeue │ │ ├── BebasNeue-Regular.ttf │ │ ├── BebasNeue-Regular.ttf.fnt │ │ ├── BebasNeue-Regular.ttf_0.png │ │ ├── BebasNeue-Regular.ttf_1.png │ │ ├── BebasNeue-Regular.ttf_2.png │ │ ├── BebasNeue-Regular.ttf_3.png │ │ └── BebasNeue-Regular.ttf_4.png │ ├── BebasNeueSedang │ │ ├── BebasNeue-Regular.ttf.fnt │ │ ├── BebasNeue-Regular.ttf_0.png │ │ └── BebasNeue-Regular.ttf_1.png │ ├── RobotoBesar │ │ ├── Roboto-Regular.ttf.fnt │ │ └── Roboto-Regular.ttf_0.png │ ├── RobotoKecil │ │ ├── Roboto-Regular.ttf.fnt │ │ └── Roboto-Regular.ttf_0.png │ └── RobotoSedang │ │ ├── Roboto-Regular.ttf.fnt │ │ └── Roboto-Regular.ttf_0.png └── template.png ├── index.js ├── index.mjs ├── lib └── index.js ├── package.json └── src ├── makeFile.js └── makeString.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | package-lock.json 3 | tmp.png 4 | output/ 5 | testing.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Rachma Azis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Qris Static to Qris Dynamic 3 | Make static QRIS to dynamic QRIS 4 | 5 | ## Instalation 6 | ```bash 7 | npm i qris-dinamis 8 | ``` 9 | 10 | ## Import Module 11 | ```javascript 12 | // CommonJS 13 | const qrisDinamis = require('qris-dinamis'); 14 | 15 | // ES Modules 16 | import qrisDinamis from 'qris-dinamis' 17 | 18 | ``` 19 | 20 | ## Usage 21 | ### Output String 22 | ```javascript 23 | const qris = '00020101021126570011ID........'; 24 | const result = qrisDinamis.makeString(qris, { nominal: '5000' }); 25 | ``` 26 | ### Ouput File 27 | ```javascript 28 | const qris = '00020101021126570011ID........'; 29 | const result = qrisDinamis.makeFile(qris, { nominal: '5000' }); 30 | // or base64 31 | const result = qrisDinamis.makeFile(qris, { nominal: '5000', base64: true }); 32 | // custom path 33 | const result = qrisDinamis.makeFile(qris, { nominal: '5000', path: 'output/qris.jpg' }); 34 | ``` 35 | 36 | ## Parameter List 37 | | Param | Required | Description | 38 | |----------|----------|-----------------------------------------------------------------------------| 39 | | `nominal` | true | The nominal amount that will be made into dynamic Qris. | 40 | | `taxtype` | false | There are 2 types of taxtypes: `r` for rupiah and `p` for percent. | 41 | | `fee` | false | The amount of fee tax to be included in nominal. If percent, it will be multiplied by the value percent. | 42 | | `base64` | false | Output a base64 string from a dynamic Qris image file. Only works in `makeFile`. | 43 | | `path` | false | Custom output path resulting from dynamic Qris image generation. Only works in `makeFile`. | 44 | 45 | ## Author 46 | [Rachma Azis](https://razisek.com) -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf.fnt: -------------------------------------------------------------------------------- 1 | info face="Bebas Neue" size=90 bold=0 italic=0 charset="" unicode=1 stretchH=0 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0 2 | common lineHeight=108 base=81 scaleW=256 scaleH=256 pages=3 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0 3 | page id=0 file="BebasNeue-Regular.ttf_0.png" 4 | page id=1 file="BebasNeue-Regular.ttf_1.png" 5 | page id=2 file="BebasNeue-Regular.ttf_2.png" 6 | chars count=95 7 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15 8 | char id=33 x=233 y=63 width=11 height=63 xoffset=4 yoffset=18 xadvance=19 page=0 chnl=15 9 | char id=34 x=30 y=234 width=24 height=20 xoffset=3 yoffset=18 xadvance=30 page=0 chnl=15 10 | char id=35 x=95 y=70 width=35 height=63 xoffset=1 yoffset=18 xadvance=37 page=0 chnl=15 11 | char id=36 x=225 y=126 width=30 height=72 xoffset=3 yoffset=14 xadvance=36 page=0 chnl=15 12 | char id=37 x=0 y=72 width=47 height=65 xoffset=3 yoffset=17 xadvance=53 page=0 chnl=15 13 | char id=38 x=0 y=126 width=33 height=64 xoffset=3 yoffset=18 xadvance=38 page=1 chnl=15 14 | char id=39 x=122 y=229 width=11 height=20 xoffset=3 yoffset=18 xadvance=17 page=0 chnl=15 15 | char id=40 x=169 y=0 width=18 height=72 xoffset=4 yoffset=13 xadvance=25 page=2 chnl=15 16 | char id=41 x=169 y=72 width=18 height=72 xoffset=3 yoffset=13 xadvance=25 page=2 chnl=15 17 | char id=42 x=0 y=200 width=36 height=34 xoffset=1 yoffset=18 xadvance=38 page=0 chnl=15 18 | char id=43 x=36 y=200 width=32 height=32 xoffset=2 yoffset=33 xadvance=36 page=0 chnl=15 19 | char id=44 x=126 y=196 width=11 height=20 xoffset=3 yoffset=72 xadvance=17 page=0 chnl=15 20 | char id=45 x=59 y=63 width=21 height=9 xoffset=2 yoffset=45 xadvance=24 page=0 chnl=15 21 | char id=46 x=72 y=246 width=11 height=9 xoffset=3 yoffset=72 xadvance=17 page=0 chnl=15 22 | char id=47 x=120 y=133 width=35 height=63 xoffset=0 yoffset=18 xadvance=35 page=0 chnl=15 23 | char id=48 x=0 y=190 width=32 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 24 | char id=49 x=148 y=144 width=21 height=63 xoffset=7 yoffset=18 xadvance=36 page=2 chnl=15 25 | char id=50 x=0 y=130 width=31 height=64 xoffset=3 yoffset=17 xadvance=36 page=2 chnl=15 26 | char id=51 x=160 y=189 width=31 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 27 | char id=52 x=213 y=0 width=34 height=63 xoffset=1 yoffset=18 xadvance=36 page=0 chnl=15 28 | char id=53 x=192 y=65 width=30 height=64 xoffset=3 yoffset=18 xadvance=36 page=1 chnl=15 29 | char id=54 x=191 y=189 width=31 height=65 xoffset=3 yoffset=17 xadvance=36 page=1 chnl=15 30 | char id=55 x=62 y=64 width=30 height=63 xoffset=3 yoffset=18 xadvance=36 page=2 chnl=15 31 | char id=56 x=32 y=190 width=32 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 32 | char id=57 x=222 y=0 width=31 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 33 | char id=58 x=148 y=196 width=11 height=44 xoffset=3 yoffset=37 xadvance=17 page=0 chnl=15 34 | char id=59 x=137 y=196 width=11 height=55 xoffset=3 yoffset=37 xadvance=17 page=0 chnl=15 35 | char id=60 x=68 y=198 width=29 height=31 xoffset=3 yoffset=34 xadvance=36 page=0 chnl=15 36 | char id=61 x=0 y=234 width=30 height=22 xoffset=3 yoffset=38 xadvance=36 page=0 chnl=15 37 | char id=62 x=97 y=198 width=29 height=31 xoffset=4 yoffset=34 xadvance=36 page=0 chnl=15 38 | char id=63 x=31 y=189 width=30 height=64 xoffset=1 yoffset=17 xadvance=33 page=2 chnl=15 39 | char id=64 x=0 y=0 width=59 height=72 xoffset=2 yoffset=14 xadvance=63 page=0 chnl=15 40 | char id=65 x=143 y=0 width=35 height=63 xoffset=1 yoffset=18 xadvance=36 page=0 chnl=15 41 | char id=66 x=66 y=63 width=32 height=63 xoffset=3 yoffset=18 xadvance=36 page=1 chnl=15 42 | char id=67 x=192 y=0 width=30 height=65 xoffset=3 yoffset=17 xadvance=34 page=1 chnl=15 43 | char id=68 x=131 y=0 width=31 height=63 xoffset=3 yoffset=18 xadvance=37 page=1 chnl=15 44 | char id=69 x=92 y=0 width=28 height=63 xoffset=3 yoffset=18 xadvance=33 page=2 chnl=15 45 | char id=70 x=120 y=0 width=27 height=63 xoffset=3 yoffset=18 xadvance=31 page=2 chnl=15 46 | char id=71 x=222 y=65 width=31 height=65 xoffset=2 yoffset=17 xadvance=35 page=1 chnl=15 47 | char id=72 x=66 y=126 width=32 height=63 xoffset=3 yoffset=18 xadvance=38 page=1 chnl=15 48 | char id=73 x=204 y=63 width=11 height=63 xoffset=3 yoffset=18 xadvance=17 page=2 chnl=15 49 | char id=74 x=169 y=144 width=20 height=63 xoffset=1 yoffset=18 xadvance=24 page=2 chnl=15 50 | char id=75 x=0 y=0 width=34 height=63 xoffset=3 yoffset=18 xadvance=37 page=1 chnl=15 51 | char id=76 x=120 y=63 width=27 height=63 xoffset=3 yoffset=18 xadvance=31 page=2 chnl=15 52 | char id=77 x=59 y=0 width=42 height=63 xoffset=3 yoffset=18 xadvance=48 page=0 chnl=15 53 | char id=78 x=96 y=189 width=32 height=63 xoffset=3 yoffset=18 xadvance=38 page=1 chnl=15 54 | char id=79 x=64 y=189 width=32 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 55 | char id=80 x=130 y=126 width=31 height=63 xoffset=3 yoffset=18 xadvance=35 page=1 chnl=15 56 | char id=81 x=130 y=63 width=34 height=70 xoffset=2 yoffset=17 xadvance=36 page=0 chnl=15 57 | char id=82 x=98 y=63 width=32 height=63 xoffset=3 yoffset=18 xadvance=36 page=1 chnl=15 58 | char id=83 x=222 y=130 width=31 height=65 xoffset=1 yoffset=17 xadvance=33 page=1 chnl=15 59 | char id=84 x=161 y=126 width=31 height=63 xoffset=1 yoffset=18 xadvance=33 page=1 chnl=15 60 | char id=85 x=61 y=189 width=30 height=64 xoffset=3 yoffset=18 xadvance=36 page=2 chnl=15 61 | char id=86 x=33 y=126 width=33 height=63 xoffset=1 yoffset=18 xadvance=34 page=1 chnl=15 62 | char id=87 x=0 y=137 width=48 height=63 xoffset=1 yoffset=18 xadvance=50 page=0 chnl=15 63 | char id=88 x=48 y=135 width=36 height=63 xoffset=0 yoffset=18 xadvance=37 page=0 chnl=15 64 | char id=89 x=155 y=133 width=35 height=63 xoffset=0 yoffset=18 xadvance=35 page=0 chnl=15 65 | char id=90 x=91 y=127 width=30 height=63 xoffset=1 yoffset=18 xadvance=33 page=2 chnl=15 66 | char id=91 x=187 y=63 width=17 height=72 xoffset=5 yoffset=13 xadvance=25 page=2 chnl=15 67 | char id=92 x=178 y=0 width=35 height=63 xoffset=0 yoffset=18 xadvance=35 page=0 chnl=15 68 | char id=93 x=189 y=135 width=17 height=72 xoffset=3 yoffset=13 xadvance=25 page=2 chnl=15 69 | char id=94 x=88 y=229 width=34 height=25 xoffset=1 yoffset=17 xadvance=36 page=0 chnl=15 70 | char id=95 x=80 y=63 width=27 height=7 xoffset=0 yoffset=82 xadvance=27 page=0 chnl=15 71 | char id=96 x=54 y=246 width=18 height=10 xoffset=10 yoffset=4 xadvance=45 page=0 chnl=15 72 | char id=97 x=190 y=133 width=35 height=63 xoffset=1 yoffset=18 xadvance=36 page=0 chnl=15 73 | char id=98 x=99 y=0 width=32 height=63 xoffset=3 yoffset=18 xadvance=36 page=1 chnl=15 74 | char id=99 x=162 y=0 width=30 height=65 xoffset=3 yoffset=17 xadvance=34 page=1 chnl=15 75 | char id=100 x=31 y=0 width=31 height=63 xoffset=3 yoffset=18 xadvance=37 page=2 chnl=15 76 | char id=101 x=92 y=63 width=28 height=63 xoffset=3 yoffset=18 xadvance=33 page=2 chnl=15 77 | char id=102 x=121 y=126 width=27 height=63 xoffset=3 yoffset=18 xadvance=31 page=2 chnl=15 78 | char id=103 x=0 y=0 width=31 height=65 xoffset=2 yoffset=17 xadvance=35 page=2 chnl=15 79 | char id=104 x=98 y=126 width=32 height=63 xoffset=3 yoffset=18 xadvance=38 page=1 chnl=15 80 | char id=105 x=207 y=0 width=11 height=63 xoffset=3 yoffset=18 xadvance=17 page=2 chnl=15 81 | char id=106 x=187 y=0 width=20 height=63 xoffset=1 yoffset=18 xadvance=24 page=2 chnl=15 82 | char id=107 x=0 y=63 width=34 height=63 xoffset=3 yoffset=18 xadvance=37 page=1 chnl=15 83 | char id=108 x=121 y=189 width=27 height=63 xoffset=3 yoffset=18 xadvance=31 page=2 chnl=15 84 | char id=109 x=101 y=0 width=42 height=63 xoffset=3 yoffset=18 xadvance=48 page=0 chnl=15 85 | char id=110 x=128 y=189 width=32 height=63 xoffset=3 yoffset=18 xadvance=38 page=1 chnl=15 86 | char id=111 x=34 y=0 width=32 height=65 xoffset=2 yoffset=17 xadvance=36 page=1 chnl=15 87 | char id=112 x=31 y=63 width=31 height=63 xoffset=3 yoffset=18 xadvance=35 page=2 chnl=15 88 | char id=113 x=164 y=63 width=34 height=70 xoffset=2 yoffset=17 xadvance=36 page=0 chnl=15 89 | char id=114 x=130 y=63 width=32 height=63 xoffset=3 yoffset=18 xadvance=36 page=1 chnl=15 90 | char id=115 x=0 y=65 width=31 height=65 xoffset=1 yoffset=17 xadvance=33 page=2 chnl=15 91 | char id=116 x=31 y=126 width=31 height=63 xoffset=1 yoffset=18 xadvance=33 page=2 chnl=15 92 | char id=117 x=62 y=0 width=30 height=64 xoffset=3 yoffset=18 xadvance=36 page=2 chnl=15 93 | char id=118 x=66 y=0 width=33 height=63 xoffset=1 yoffset=18 xadvance=34 page=1 chnl=15 94 | char id=119 x=47 y=72 width=48 height=63 xoffset=1 yoffset=18 xadvance=50 page=0 chnl=15 95 | char id=120 x=84 y=135 width=36 height=63 xoffset=0 yoffset=18 xadvance=37 page=0 chnl=15 96 | char id=121 x=198 y=63 width=35 height=63 xoffset=0 yoffset=18 xadvance=35 page=0 chnl=15 97 | char id=122 x=91 y=190 width=30 height=63 xoffset=1 yoffset=18 xadvance=33 page=2 chnl=15 98 | char id=123 x=147 y=0 width=22 height=72 xoffset=1 yoffset=13 xadvance=25 page=2 chnl=15 99 | char id=124 x=247 y=0 width=9 height=90 xoffset=18 yoffset=9 xadvance=45 page=0 chnl=15 100 | char id=125 x=148 y=72 width=21 height=72 xoffset=2 yoffset=13 xadvance=25 page=2 chnl=15 101 | char id=126 x=54 y=232 width=34 height=14 xoffset=1 yoffset=43 xadvance=36 page=0 chnl=15 102 | kernings count=0 103 | -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf_0.png -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf_1.png -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf_2.png -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf_3.png -------------------------------------------------------------------------------- /assets/font/BebasNeue/BebasNeue-Regular.ttf_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeue/BebasNeue-Regular.ttf_4.png -------------------------------------------------------------------------------- /assets/font/BebasNeueSedang/BebasNeue-Regular.ttf.fnt: -------------------------------------------------------------------------------- 1 | info face="Bebas Neue" size=60 bold=0 italic=0 charset="" unicode=1 stretchH=0 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0 2 | common lineHeight=72 base=54 scaleW=256 scaleH=256 pages=2 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0 3 | page id=0 file="BebasNeue-Regular.ttf_0.png" 4 | page id=1 file="BebasNeue-Regular.ttf_1.png" 5 | chars count=95 6 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=10 page=0 chnl=15 7 | char id=33 x=248 y=126 width=7 height=42 xoffset=3 yoffset=12 xadvance=13 page=0 chnl=15 8 | char id=34 x=70 y=240 width=16 height=14 xoffset=2 yoffset=12 xadvance=20 page=0 chnl=15 9 | char id=35 x=28 y=134 width=24 height=42 xoffset=0 yoffset=12 xadvance=25 page=0 chnl=15 10 | char id=36 x=141 y=170 width=20 height=48 xoffset=2 yoffset=9 xadvance=24 page=0 chnl=15 11 | char id=37 x=0 y=48 width=32 height=44 xoffset=2 yoffset=11 xadvance=35 page=0 chnl=15 12 | char id=38 x=126 y=84 width=22 height=43 xoffset=2 yoffset=12 xadvance=25 page=0 chnl=15 13 | char id=39 x=86 y=240 width=7 height=14 xoffset=2 yoffset=12 xadvance=11 page=0 chnl=15 14 | char id=40 x=38 y=43 width=12 height=50 xoffset=3 yoffset=7 xadvance=17 page=1 chnl=15 15 | char id=41 x=35 y=169 width=12 height=50 xoffset=2 yoffset=7 xadvance=17 page=1 chnl=15 16 | char id=42 x=0 y=223 width=25 height=23 xoffset=0 yoffset=12 xadvance=25 page=0 chnl=15 17 | char id=43 x=25 y=223 width=22 height=21 xoffset=1 yoffset=22 xadvance=24 page=0 chnl=15 18 | char id=44 x=93 y=233 width=7 height=14 xoffset=2 yoffset=47 xadvance=11 page=0 chnl=15 19 | char id=45 x=24 y=246 width=14 height=7 xoffset=1 yoffset=29 xadvance=16 page=0 chnl=15 20 | char id=46 x=85 y=233 width=7 height=7 xoffset=2 yoffset=47 xadvance=11 page=0 chnl=15 21 | char id=47 x=68 y=0 width=23 height=42 xoffset=0 yoffset=12 xadvance=23 page=0 chnl=15 22 | char id=48 x=65 y=42 width=22 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 23 | char id=49 x=35 y=127 width=15 height=42 xoffset=4 yoffset=12 xadvance=24 page=1 chnl=15 24 | char id=50 x=148 y=84 width=21 height=43 xoffset=2 yoffset=11 xadvance=24 page=0 chnl=15 25 | char id=51 x=161 y=169 width=21 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 26 | char id=52 x=33 y=90 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 27 | char id=53 x=182 y=213 width=20 height=43 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 28 | char id=54 x=182 y=169 width=21 height=44 xoffset=2 yoffset=11 xadvance=24 page=0 chnl=15 29 | char id=55 x=200 y=0 width=20 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 30 | char id=56 x=81 y=86 width=22 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 31 | char id=57 x=203 y=168 width=21 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 32 | char id=58 x=114 y=216 width=7 height=30 xoffset=2 yoffset=24 xadvance=11 page=0 chnl=15 33 | char id=59 x=107 y=216 width=7 height=37 xoffset=2 yoffset=24 xadvance=11 page=0 chnl=15 34 | char id=60 x=47 y=218 width=19 height=22 xoffset=2 yoffset=22 xadvance=24 page=0 chnl=15 35 | char id=61 x=50 y=240 width=20 height=15 xoffset=2 yoffset=25 xadvance=24 page=0 chnl=15 36 | char id=62 x=66 y=218 width=19 height=22 xoffset=3 yoffset=22 xadvance=24 page=0 chnl=15 37 | char id=63 x=202 y=213 width=20 height=43 xoffset=1 yoffset=11 xadvance=22 page=0 chnl=15 38 | char id=64 x=0 y=0 width=40 height=48 xoffset=1 yoffset=10 xadvance=42 page=0 chnl=15 39 | char id=65 x=46 y=176 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 40 | char id=66 x=154 y=42 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 41 | char id=67 x=0 y=0 width=20 height=44 xoffset=2 yoffset=11 xadvance=23 page=1 chnl=15 42 | char id=68 x=158 y=0 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 43 | char id=69 x=229 y=126 width=19 height=42 xoffset=2 yoffset=12 xadvance=22 page=0 chnl=15 44 | char id=70 x=231 y=84 width=18 height=42 xoffset=2 yoffset=12 xadvance=21 page=0 chnl=15 45 | char id=71 x=222 y=212 width=21 height=44 xoffset=1 yoffset=11 xadvance=23 page=0 chnl=15 46 | char id=72 x=167 y=127 width=21 height=42 xoffset=2 yoffset=12 xadvance=25 page=0 chnl=15 47 | char id=73 x=243 y=212 width=8 height=42 xoffset=2 yoffset=12 xadvance=12 page=0 chnl=15 48 | char id=74 x=40 y=0 width=14 height=42 xoffset=0 yoffset=12 xadvance=16 page=1 chnl=15 49 | char id=75 x=118 y=174 width=23 height=42 xoffset=2 yoffset=12 xadvance=25 page=0 chnl=15 50 | char id=76 x=220 y=0 width=18 height=42 xoffset=2 yoffset=12 xadvance=21 page=0 chnl=15 51 | char id=77 x=40 y=0 width=28 height=42 xoffset=2 yoffset=12 xadvance=32 page=0 chnl=15 52 | char id=78 x=114 y=0 width=22 height=42 xoffset=2 yoffset=12 xadvance=26 page=0 chnl=15 53 | char id=79 x=100 y=130 width=22 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 54 | char id=80 x=169 y=84 width=21 height=42 xoffset=2 yoffset=12 xadvance=23 page=0 chnl=15 55 | char id=81 x=0 y=176 width=23 height=47 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 56 | char id=82 x=175 y=42 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 57 | char id=83 x=0 y=44 width=20 height=44 xoffset=1 yoffset=11 xadvance=22 page=1 chnl=15 58 | char id=84 x=132 y=42 width=22 height=42 xoffset=0 yoffset=12 xadvance=22 page=0 chnl=15 59 | char id=85 x=0 y=176 width=20 height=43 xoffset=2 yoffset=12 xadvance=24 page=1 chnl=15 60 | char id=86 x=103 y=86 width=23 height=42 xoffset=0 yoffset=12 xadvance=23 page=0 chnl=15 61 | char id=87 x=0 y=92 width=33 height=42 xoffset=0 yoffset=12 xadvance=33 page=0 chnl=15 62 | char id=88 x=52 y=132 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 63 | char id=89 x=70 y=174 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 64 | char id=90 x=209 y=126 width=20 height=42 xoffset=1 yoffset=12 xadvance=22 page=0 chnl=15 65 | char id=91 x=47 y=169 width=12 height=50 xoffset=3 yoffset=7 xadvance=17 page=1 chnl=15 66 | char id=92 x=122 y=128 width=23 height=42 xoffset=0 yoffset=12 xadvance=23 page=0 chnl=15 67 | char id=93 x=50 y=42 width=12 height=50 xoffset=2 yoffset=7 xadvance=17 page=1 chnl=15 68 | char id=94 x=85 y=216 width=22 height=17 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 69 | char id=95 x=40 y=42 width=18 height=5 xoffset=0 yoffset=54 xadvance=18 page=0 chnl=15 70 | char id=96 x=38 y=244 width=12 height=7 xoffset=7 yoffset=2 xadvance=30 page=0 chnl=15 71 | char id=97 x=57 y=90 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 72 | char id=98 x=179 y=0 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 73 | char id=99 x=0 y=88 width=20 height=44 xoffset=2 yoffset=11 xadvance=23 page=1 chnl=15 74 | char id=100 x=161 y=213 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 75 | char id=101 x=217 y=42 width=19 height=42 xoffset=2 yoffset=12 xadvance=22 page=0 chnl=15 76 | char id=102 x=20 y=43 width=18 height=42 xoffset=2 yoffset=12 xadvance=21 page=1 chnl=15 77 | char id=103 x=224 y=168 width=21 height=44 xoffset=1 yoffset=11 xadvance=23 page=0 chnl=15 78 | char id=104 x=188 y=126 width=21 height=42 xoffset=2 yoffset=12 xadvance=25 page=0 chnl=15 79 | char id=105 x=245 y=168 width=8 height=42 xoffset=2 yoffset=12 xadvance=12 page=0 chnl=15 80 | char id=106 x=54 y=0 width=14 height=42 xoffset=0 yoffset=12 xadvance=16 page=1 chnl=15 81 | char id=107 x=91 y=0 width=23 height=42 xoffset=2 yoffset=12 xadvance=25 page=0 chnl=15 82 | char id=108 x=20 y=85 width=18 height=42 xoffset=2 yoffset=12 xadvance=21 page=1 chnl=15 83 | char id=109 x=0 y=134 width=28 height=42 xoffset=2 yoffset=12 xadvance=32 page=0 chnl=15 84 | char id=110 x=136 y=0 width=22 height=42 xoffset=2 yoffset=12 xadvance=26 page=0 chnl=15 85 | char id=111 x=87 y=42 width=22 height=44 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 86 | char id=112 x=190 y=84 width=21 height=42 xoffset=2 yoffset=12 xadvance=23 page=0 chnl=15 87 | char id=113 x=23 y=176 width=23 height=47 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=15 88 | char id=114 x=196 y=42 width=21 height=42 xoffset=2 yoffset=12 xadvance=24 page=0 chnl=15 89 | char id=115 x=0 y=132 width=20 height=44 xoffset=1 yoffset=11 xadvance=22 page=1 chnl=15 90 | char id=116 x=145 y=127 width=22 height=42 xoffset=0 yoffset=12 xadvance=22 page=0 chnl=15 91 | char id=117 x=20 y=0 width=20 height=43 xoffset=2 yoffset=12 xadvance=24 page=1 chnl=15 92 | char id=118 x=109 y=42 width=23 height=42 xoffset=0 yoffset=12 xadvance=23 page=0 chnl=15 93 | char id=119 x=32 y=48 width=33 height=42 xoffset=0 yoffset=12 xadvance=33 page=0 chnl=15 94 | char id=120 x=76 y=132 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 95 | char id=121 x=94 y=174 width=24 height=42 xoffset=0 yoffset=12 xadvance=24 page=0 chnl=15 96 | char id=122 x=211 y=84 width=20 height=42 xoffset=1 yoffset=12 xadvance=22 page=0 chnl=15 97 | char id=123 x=20 y=127 width=15 height=50 xoffset=1 yoffset=7 xadvance=17 page=1 chnl=15 98 | char id=124 x=249 y=0 width=6 height=61 xoffset=12 yoffset=5 xadvance=30 page=0 chnl=15 99 | char id=125 x=20 y=177 width=15 height=50 xoffset=1 yoffset=7 xadvance=17 page=1 chnl=15 100 | char id=126 x=0 y=246 width=24 height=10 xoffset=0 yoffset=28 xadvance=24 page=0 chnl=15 101 | kernings count=0 102 | -------------------------------------------------------------------------------- /assets/font/BebasNeueSedang/BebasNeue-Regular.ttf_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeueSedang/BebasNeue-Regular.ttf_0.png -------------------------------------------------------------------------------- /assets/font/BebasNeueSedang/BebasNeue-Regular.ttf_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/BebasNeueSedang/BebasNeue-Regular.ttf_1.png -------------------------------------------------------------------------------- /assets/font/RobotoBesar/Roboto-Regular.ttf.fnt: -------------------------------------------------------------------------------- 1 | info face="Roboto" size=35 bold=0 italic=0 charset="" unicode=1 stretchH=0 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0 2 | common lineHeight=42 base=33 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0 3 | page id=0 file="Roboto-Regular.ttf_0.png" 4 | chars count=95 5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=15 6 | char id=33 x=124 y=75 width=5 height=25 xoffset=2 yoffset=8 xadvance=9 page=0 chnl=15 7 | char id=34 x=17 y=130 width=8 height=8 xoffset=2 yoffset=7 xadvance=11 page=0 chnl=15 8 | char id=35 x=21 y=138 width=20 height=25 xoffset=2 yoffset=8 xadvance=22 page=0 chnl=15 9 | char id=36 x=0 y=81 width=17 height=33 xoffset=1 yoffset=4 xadvance=20 page=0 chnl=15 10 | char id=37 x=55 y=0 width=24 height=25 xoffset=1 yoffset=8 xadvance=26 page=0 chnl=15 11 | char id=38 x=52 y=64 width=21 height=25 xoffset=1 yoffset=8 xadvance=22 page=0 chnl=15 12 | char id=39 x=34 y=130 width=4 height=8 xoffset=1 yoffset=7 xadvance=6 page=0 chnl=15 13 | char id=40 x=123 y=147 width=10 height=36 xoffset=2 yoffset=5 xadvance=12 page=0 chnl=15 14 | char id=41 x=125 y=183 width=10 height=36 xoffset=0 yoffset=5 xadvance=12 page=0 chnl=15 15 | char id=42 x=23 y=89 width=15 height=15 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=15 16 | char id=43 x=26 y=234 width=18 height=19 xoffset=1 yoffset=12 xadvance=20 page=0 chnl=15 17 | char id=44 x=39 y=129 width=6 height=9 xoffset=0 yoffset=29 xadvance=7 page=0 chnl=15 18 | char id=45 x=29 y=28 width=9 height=3 xoffset=0 yoffset=21 xadvance=10 page=0 chnl=15 19 | char id=46 x=66 y=50 width=5 height=4 xoffset=2 yoffset=29 xadvance=9 page=0 chnl=15 20 | char id=47 x=110 y=101 width=14 height=27 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=15 21 | char id=48 x=106 y=25 width=17 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 22 | char id=49 x=135 y=166 width=11 height=25 xoffset=2 yoffset=8 xadvance=20 page=0 chnl=15 23 | char id=50 x=60 y=129 width=18 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 24 | char id=51 x=119 y=0 width=17 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 25 | char id=52 x=41 y=138 width=19 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=15 26 | char id=53 x=92 y=76 width=17 height=25 xoffset=2 yoffset=8 xadvance=20 page=0 chnl=15 27 | char id=54 x=95 y=128 width=16 height=25 xoffset=2 yoffset=8 xadvance=20 page=0 chnl=15 28 | char id=55 x=60 y=154 width=18 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 29 | char id=56 x=94 y=153 width=17 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 30 | char id=57 x=79 y=199 width=17 height=25 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=15 31 | char id=58 x=144 y=233 width=5 height=19 xoffset=2 yoffset=14 xadvance=8 page=0 chnl=15 32 | char id=59 x=17 y=81 width=6 height=24 xoffset=0 yoffset=14 xadvance=7 page=0 chnl=15 33 | char id=60 x=38 y=89 width=15 height=15 xoffset=1 yoffset=14 xadvance=18 page=0 chnl=15 34 | char id=61 x=45 y=54 width=15 height=10 xoffset=2 yoffset=16 xadvance=19 page=0 chnl=15 35 | char id=62 x=53 y=89 width=15 height=15 xoffset=2 yoffset=14 xadvance=18 page=0 chnl=15 36 | char id=63 x=123 y=25 width=15 height=25 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=15 37 | char id=64 x=0 y=0 width=29 height=31 xoffset=1 yoffset=9 xadvance=31 page=0 chnl=15 38 | char id=65 x=0 y=56 width=23 height=25 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=15 39 | char id=66 x=60 y=179 width=18 height=25 xoffset=2 yoffset=8 xadvance=22 page=0 chnl=15 40 | char id=67 x=39 y=104 width=20 height=25 xoffset=2 yoffset=8 xadvance=23 page=0 chnl=15 41 | char id=68 x=59 y=104 width=19 height=25 xoffset=2 yoffset=8 xadvance=23 page=0 chnl=15 42 | char id=69 x=95 y=224 width=17 height=25 xoffset=2 yoffset=8 xadvance=20 page=0 chnl=15 43 | char id=70 x=96 y=197 width=17 height=25 xoffset=2 yoffset=8 xadvance=19 page=0 chnl=15 44 | char id=71 x=21 y=163 width=20 height=25 xoffset=2 yoffset=8 xadvance=24 page=0 chnl=15 45 | char id=72 x=66 y=25 width=21 height=25 xoffset=2 yoffset=8 xadvance=25 page=0 chnl=15 46 | char id=73 x=125 y=50 width=4 height=25 xoffset=3 yoffset=8 xadvance=10 page=0 chnl=15 47 | char id=74 x=112 y=222 width=17 height=25 xoffset=0 yoffset=8 xadvance=19 page=0 chnl=15 48 | char id=75 x=21 y=188 width=20 height=25 xoffset=2 yoffset=8 xadvance=22 page=0 chnl=15 49 | char id=76 x=109 y=50 width=16 height=25 xoffset=2 yoffset=8 xadvance=19 page=0 chnl=15 50 | char id=77 x=29 y=0 width=26 height=25 xoffset=2 yoffset=8 xadvance=31 page=0 chnl=15 51 | char id=78 x=79 y=0 width=21 height=25 xoffset=2 yoffset=8 xadvance=25 page=0 chnl=15 52 | char id=79 x=0 y=140 width=21 height=25 xoffset=2 yoffset=8 xadvance=24 page=0 chnl=15 53 | char id=80 x=73 y=61 width=19 height=25 xoffset=2 yoffset=8 xadvance=22 page=0 chnl=15 54 | char id=81 x=45 y=25 width=21 height=29 xoffset=1 yoffset=8 xadvance=24 page=0 chnl=15 55 | char id=82 x=87 y=25 width=19 height=25 xoffset=2 yoffset=8 xadvance=22 page=0 chnl=15 56 | char id=83 x=100 y=0 width=19 height=25 xoffset=1 yoffset=8 xadvance=21 page=0 chnl=15 57 | char id=84 x=0 y=165 width=21 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=15 58 | char id=85 x=41 y=163 width=19 height=25 xoffset=2 yoffset=8 xadvance=23 page=0 chnl=15 59 | char id=86 x=17 y=105 width=22 height=25 xoffset=0 yoffset=8 xadvance=22 page=0 chnl=15 60 | char id=87 x=0 y=31 width=30 height=25 xoffset=1 yoffset=8 xadvance=31 page=0 chnl=15 61 | char id=88 x=30 y=64 width=22 height=25 xoffset=0 yoffset=8 xadvance=22 page=0 chnl=15 62 | char id=89 x=0 y=190 width=21 height=25 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=15 63 | char id=90 x=41 y=188 width=19 height=25 xoffset=1 yoffset=8 xadvance=21 page=0 chnl=15 64 | char id=91 x=38 y=28 width=7 height=33 xoffset=2 yoffset=5 xadvance=9 page=0 chnl=15 65 | char id=92 x=95 y=101 width=15 height=27 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=15 66 | char id=93 x=23 y=56 width=7 height=33 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=15 67 | char id=94 x=68 y=89 width=13 height=12 xoffset=1 yoffset=8 xadvance=15 page=0 chnl=15 68 | char id=95 x=29 y=25 width=16 height=3 xoffset=0 yoffset=33 xadvance=16 page=0 chnl=15 69 | char id=96 x=25 y=130 width=9 height=5 xoffset=0 yoffset=7 xadvance=11 page=0 chnl=15 70 | char id=97 x=44 y=232 width=17 height=19 xoffset=1 yoffset=14 xadvance=19 page=0 chnl=15 71 | char id=98 x=0 y=114 width=17 height=26 xoffset=2 yoffset=7 xadvance=20 page=0 chnl=15 72 | char id=99 x=45 y=213 width=17 height=19 xoffset=1 yoffset=14 xadvance=18 page=0 chnl=15 73 | char id=100 x=62 y=204 width=17 height=26 xoffset=1 yoffset=7 xadvance=20 page=0 chnl=15 74 | char id=101 x=61 y=232 width=17 height=19 xoffset=1 yoffset=14 xadvance=19 page=0 chnl=15 75 | char id=102 x=113 y=194 width=12 height=27 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=15 76 | char id=103 x=78 y=230 width=17 height=26 xoffset=1 yoffset=14 xadvance=20 page=0 chnl=15 77 | char id=104 x=109 y=75 width=15 height=26 xoffset=2 yoffset=7 xadvance=19 page=0 chnl=15 78 | char id=105 x=146 y=166 width=5 height=26 xoffset=2 yoffset=7 xadvance=9 page=0 chnl=15 79 | char id=106 x=30 y=31 width=8 height=33 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 80 | char id=107 x=78 y=153 width=16 height=27 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=15 81 | char id=108 x=124 y=100 width=4 height=27 xoffset=2 yoffset=6 xadvance=9 page=0 chnl=15 82 | char id=109 x=0 y=215 width=27 height=19 xoffset=2 yoffset=14 xadvance=31 page=0 chnl=15 83 | char id=110 x=133 y=147 width=15 height=19 xoffset=2 yoffset=14 xadvance=19 page=0 chnl=15 84 | char id=111 x=27 y=213 width=18 height=19 xoffset=1 yoffset=14 xadvance=20 page=0 chnl=15 85 | char id=112 x=78 y=101 width=17 height=26 xoffset=2 yoffset=14 xadvance=20 page=0 chnl=15 86 | char id=113 x=92 y=50 width=17 height=26 xoffset=1 yoffset=14 xadvance=20 page=0 chnl=15 87 | char id=114 x=144 y=214 width=10 height=19 xoffset=2 yoffset=14 xadvance=12 page=0 chnl=15 88 | char id=115 x=136 y=0 width=16 height=19 xoffset=1 yoffset=14 xadvance=18 page=0 chnl=15 89 | char id=116 x=135 y=191 width=11 height=23 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=15 90 | char id=117 x=129 y=219 width=15 height=19 xoffset=2 yoffset=14 xadvance=19 page=0 chnl=15 91 | char id=118 x=78 y=180 width=17 height=19 xoffset=0 yoffset=14 xadvance=17 page=0 chnl=15 92 | char id=119 x=0 y=234 width=26 height=19 xoffset=0 yoffset=14 xadvance=26 page=0 chnl=15 93 | char id=120 x=95 y=178 width=17 height=19 xoffset=0 yoffset=14 xadvance=17 page=0 chnl=15 94 | char id=121 x=78 y=127 width=17 height=26 xoffset=0 yoffset=14 xadvance=17 page=0 chnl=15 95 | char id=122 x=122 y=128 width=16 height=19 xoffset=1 yoffset=14 xadvance=17 page=0 chnl=15 96 | char id=123 x=111 y=128 width=11 height=33 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=15 97 | char id=124 x=129 y=50 width=4 height=30 xoffset=2 yoffset=8 xadvance=9 page=0 chnl=15 98 | char id=125 x=112 y=161 width=11 height=33 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=15 99 | char id=126 x=60 y=54 width=20 height=7 xoffset=2 yoffset=19 xadvance=24 page=0 chnl=15 100 | kernings count=0 101 | -------------------------------------------------------------------------------- /assets/font/RobotoBesar/Roboto-Regular.ttf_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/RobotoBesar/Roboto-Regular.ttf_0.png -------------------------------------------------------------------------------- /assets/font/RobotoKecil/Roboto-Regular.ttf.fnt: -------------------------------------------------------------------------------- 1 | info face="Roboto" size=23 bold=0 italic=0 charset="" unicode=1 stretchH=0 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0 2 | common lineHeight=27 base=22 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0 3 | page id=0 file="Roboto-Regular.ttf_0.png" 4 | chars count=95 5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 6 | char id=33 x=63 y=68 width=4 height=17 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=15 7 | char id=34 x=9 y=248 width=6 height=5 xoffset=1 yoffset=5 xadvance=7 page=0 chnl=15 8 | char id=35 x=0 y=214 width=13 height=17 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 9 | char id=36 x=0 y=72 width=11 height=23 xoffset=1 yoffset=2 xadvance=13 page=0 chnl=15 10 | char id=37 x=37 y=0 width=15 height=17 xoffset=1 yoffset=5 xadvance=17 page=0 chnl=15 11 | char id=38 x=0 y=95 width=14 height=17 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 12 | char id=39 x=19 y=248 width=2 height=5 xoffset=1 yoffset=5 xadvance=4 page=0 chnl=15 13 | char id=40 x=49 y=68 width=7 height=23 xoffset=1 yoffset=4 xadvance=8 page=0 chnl=15 14 | char id=41 x=56 y=68 width=7 height=23 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=15 15 | char id=42 x=55 y=34 width=10 height=10 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=15 16 | char id=43 x=33 y=56 width=13 height=13 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=15 17 | char id=44 x=15 y=248 width=4 height=6 xoffset=0 yoffset=19 xadvance=5 page=0 chnl=15 18 | char id=45 x=19 y=19 width=6 height=2 xoffset=0 yoffset=14 xadvance=6 page=0 chnl=15 19 | char id=46 x=26 y=56 width=4 height=3 xoffset=1 yoffset=19 xadvance=6 page=0 chnl=15 20 | char id=47 x=48 y=103 width=9 height=18 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=15 21 | char id=48 x=27 y=107 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 22 | char id=49 x=68 y=17 width=8 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 23 | char id=50 x=14 y=162 width=12 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 24 | char id=51 x=27 y=124 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 25 | char id=52 x=0 y=231 width=13 height=17 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=15 26 | char id=53 x=27 y=141 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 27 | char id=54 x=26 y=179 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 28 | char id=55 x=14 y=179 width=12 height=17 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=15 29 | char id=56 x=26 y=196 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 30 | char id=57 x=26 y=213 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 31 | char id=58 x=60 y=91 width=4 height=12 xoffset=1 yoffset=10 xadvance=6 page=0 chnl=15 32 | char id=59 x=63 y=115 width=5 height=15 xoffset=0 yoffset=10 xadvance=5 page=0 chnl=15 33 | char id=60 x=65 y=34 width=10 height=10 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=15 34 | char id=61 x=30 y=37 width=11 height=7 xoffset=1 yoffset=11 xadvance=13 page=0 chnl=15 35 | char id=62 x=44 y=34 width=11 height=10 xoffset=1 yoffset=10 xadvance=12 page=0 chnl=15 36 | char id=63 x=46 y=121 width=10 height=17 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=15 37 | char id=64 x=0 y=0 width=19 height=21 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=15 38 | char id=65 x=0 y=38 width=15 height=17 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=15 39 | char id=66 x=13 y=214 width=13 height=17 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 40 | char id=67 x=13 y=231 width=13 height=17 xoffset=1 yoffset=5 xadvance=15 page=0 chnl=15 41 | char id=68 x=14 y=94 width=13 height=17 xoffset=1 yoffset=5 xadvance=15 page=0 chnl=15 42 | char id=69 x=14 y=196 width=12 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 43 | char id=70 x=26 y=162 width=12 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 44 | char id=71 x=25 y=72 width=13 height=17 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 45 | char id=72 x=11 y=72 width=14 height=17 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 46 | char id=73 x=67 y=68 width=3 height=17 xoffset=2 yoffset=5 xadvance=6 page=0 chnl=15 47 | char id=74 x=26 y=230 width=11 height=17 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=15 48 | char id=75 x=0 y=112 width=14 height=17 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 49 | char id=76 x=37 y=179 width=11 height=17 xoffset=1 yoffset=5 xadvance=12 page=0 chnl=15 50 | char id=77 x=19 y=0 width=18 height=17 xoffset=1 yoffset=5 xadvance=20 page=0 chnl=15 51 | char id=78 x=0 y=129 width=14 height=17 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 52 | char id=79 x=0 y=146 width=14 height=17 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 53 | char id=80 x=44 y=17 width=13 height=17 xoffset=1 yoffset=5 xadvance=15 page=0 chnl=15 54 | char id=81 x=30 y=17 width=14 height=20 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 55 | char id=82 x=52 y=0 width=13 height=17 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 56 | char id=83 x=14 y=111 width=13 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=15 57 | char id=84 x=0 y=163 width=14 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=15 58 | char id=85 x=14 y=128 width=13 height=17 xoffset=1 yoffset=5 xadvance=15 page=0 chnl=15 59 | char id=86 x=0 y=55 width=15 height=17 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=15 60 | char id=87 x=0 y=21 width=20 height=17 xoffset=0 yoffset=5 xadvance=20 page=0 chnl=15 61 | char id=88 x=0 y=180 width=14 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=15 62 | char id=89 x=0 y=197 width=14 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=15 63 | char id=90 x=14 y=145 width=13 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=15 64 | char id=91 x=25 y=19 width=5 height=23 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=15 65 | char id=92 x=38 y=103 width=10 height=18 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=15 66 | char id=93 x=20 y=21 width=5 height=23 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 67 | char id=94 x=0 y=248 width=9 height=8 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=15 68 | char id=95 x=19 y=17 width=11 height=2 xoffset=0 yoffset=22 xadvance=10 page=0 chnl=15 69 | char id=96 x=20 y=56 width=6 height=3 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=15 70 | char id=97 x=46 y=56 width=11 height=12 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 71 | char id=98 x=37 y=196 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 72 | char id=99 x=49 y=44 width=11 height=12 xoffset=1 yoffset=10 xadvance=12 page=0 chnl=15 73 | char id=100 x=37 y=213 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 74 | char id=101 x=38 y=165 width=11 height=12 xoffset=1 yoffset=10 xadvance=12 page=0 chnl=15 75 | char id=102 x=46 y=138 width=9 height=18 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=15 76 | char id=103 x=37 y=230 width=11 height=17 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 77 | char id=104 x=38 y=69 width=11 height=17 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=15 78 | char id=105 x=64 y=85 width=4 height=17 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=15 79 | char id=106 x=15 y=38 width=5 height=22 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=15 80 | char id=107 x=27 y=89 width=11 height=18 xoffset=1 yoffset=4 xadvance=12 page=0 chnl=15 81 | char id=108 x=48 y=209 width=3 height=18 xoffset=1 yoffset=4 xadvance=6 page=0 chnl=15 82 | char id=109 x=15 y=60 width=18 height=12 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=15 83 | char id=110 x=49 y=91 width=11 height=12 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 84 | char id=111 x=37 y=44 width=12 height=12 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 85 | char id=112 x=57 y=17 width=11 height=17 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 86 | char id=113 x=65 y=0 width=11 height=17 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 87 | char id=114 x=57 y=103 width=7 height=12 xoffset=1 yoffset=10 xadvance=8 page=0 chnl=15 88 | char id=115 x=55 y=138 width=10 height=12 xoffset=1 yoffset=10 xadvance=12 page=0 chnl=15 89 | char id=116 x=56 y=121 width=7 height=15 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=15 90 | char id=117 x=57 y=56 width=11 height=12 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=15 91 | char id=118 x=60 y=44 width=11 height=12 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=15 92 | char id=119 x=20 y=44 width=17 height=12 xoffset=0 yoffset=10 xadvance=17 page=0 chnl=15 93 | char id=120 x=48 y=177 width=11 height=12 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=15 94 | char id=121 x=38 y=86 width=11 height=17 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=15 95 | char id=122 x=49 y=156 width=11 height=12 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=15 96 | char id=123 x=38 y=121 width=8 height=22 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=15 97 | char id=124 x=48 y=189 width=3 height=20 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=15 98 | char id=125 x=38 y=143 width=8 height=22 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=15 99 | char id=126 x=11 y=89 width=14 height=5 xoffset=1 yoffset=13 xadvance=16 page=0 chnl=15 100 | kernings count=0 101 | -------------------------------------------------------------------------------- /assets/font/RobotoKecil/Roboto-Regular.ttf_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/RobotoKecil/Roboto-Regular.ttf_0.png -------------------------------------------------------------------------------- /assets/font/RobotoSedang/Roboto-Regular.ttf.fnt: -------------------------------------------------------------------------------- 1 | info face="Roboto" size=28 bold=0 italic=0 charset="" unicode=1 stretchH=0 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0 2 | common lineHeight=33 base=26 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0 3 | page id=0 file="Roboto-Regular.ttf_0.png" 4 | chars count=95 5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=7 page=0 chnl=15 6 | char id=33 x=81 y=119 width=4 height=20 xoffset=2 yoffset=6 xadvance=7 page=0 chnl=15 7 | char id=34 x=39 y=44 width=7 height=7 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=15 8 | char id=35 x=0 y=221 width=16 height=20 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=15 9 | char id=36 x=25 y=26 width=14 height=26 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=15 10 | char id=37 x=44 y=0 width=19 height=20 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=15 11 | char id=38 x=0 y=86 width=17 height=20 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=15 12 | char id=39 x=81 y=89 width=3 height=7 xoffset=1 yoffset=5 xadvance=5 page=0 chnl=15 13 | char id=40 x=72 y=124 width=9 height=28 xoffset=1 yoffset=4 xadvance=10 page=0 chnl=15 14 | char id=41 x=73 y=70 width=8 height=28 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=15 15 | char id=42 x=44 y=71 width=12 height=12 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=15 16 | char id=43 x=21 y=241 width=14 height=15 xoffset=1 yoffset=9 xadvance=16 page=0 chnl=15 17 | char id=44 x=68 y=70 width=5 height=7 xoffset=0 yoffset=23 xadvance=6 page=0 chnl=15 18 | char id=45 x=53 y=47 width=8 height=3 xoffset=0 yoffset=17 xadvance=8 page=0 chnl=15 19 | char id=46 x=57 y=40 width=5 height=4 xoffset=1 yoffset=22 xadvance=7 page=0 chnl=15 20 | char id=47 x=72 y=179 width=11 height=22 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=15 21 | char id=48 x=32 y=221 width=14 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 22 | char id=49 x=83 y=47 width=8 height=20 xoffset=2 yoffset=6 xadvance=16 page=0 chnl=15 23 | char id=50 x=32 y=148 width=14 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 24 | char id=51 x=60 y=218 width=13 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 25 | char id=52 x=16 y=221 width=16 height=20 xoffset=0 yoffset=6 xadvance=16 page=0 chnl=15 26 | char id=53 x=70 y=50 width=13 height=20 xoffset=2 yoffset=6 xadvance=16 page=0 chnl=15 27 | char id=54 x=32 y=168 width=14 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 28 | char id=55 x=46 y=218 width=14 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 29 | char id=56 x=46 y=105 width=14 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 30 | char id=57 x=79 y=0 width=13 height=20 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=15 31 | char id=58 x=81 y=159 width=5 height=15 xoffset=1 yoffset=11 xadvance=7 page=0 chnl=15 32 | char id=59 x=92 y=0 width=6 height=19 xoffset=0 yoffset=11 xadvance=6 page=0 chnl=15 33 | char id=60 x=18 y=73 width=13 height=12 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15 34 | char id=61 x=56 y=70 width=12 height=9 xoffset=2 yoffset=12 xadvance=15 page=0 chnl=15 35 | char id=62 x=31 y=72 width=13 height=12 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 36 | char id=63 x=75 y=236 width=12 height=20 xoffset=1 yoffset=6 xadvance=13 page=0 chnl=15 37 | char id=64 x=0 y=0 width=23 height=26 xoffset=1 yoffset=6 xadvance=25 page=0 chnl=15 38 | char id=65 x=0 y=46 width=18 height=20 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=15 39 | char id=66 x=47 y=83 width=14 height=20 xoffset=2 yoffset=6 xadvance=17 page=0 chnl=15 40 | char id=67 x=17 y=86 width=16 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15 41 | char id=68 x=17 y=106 width=15 height=20 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=15 42 | char id=69 x=59 y=146 width=13 height=20 xoffset=2 yoffset=6 xadvance=16 page=0 chnl=15 43 | char id=70 x=59 y=166 width=13 height=20 xoffset=2 yoffset=6 xadvance=15 page=0 chnl=15 44 | char id=71 x=0 y=106 width=17 height=20 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15 45 | char id=72 x=24 y=52 width=16 height=20 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=15 46 | char id=73 x=83 y=96 width=4 height=20 xoffset=2 yoffset=6 xadvance=8 page=0 chnl=15 47 | char id=74 x=56 y=50 width=14 height=20 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=15 48 | char id=75 x=40 y=51 width=16 height=20 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=15 49 | char id=76 x=73 y=216 width=13 height=20 xoffset=2 yoffset=6 xadvance=15 page=0 chnl=15 50 | char id=77 x=23 y=0 width=21 height=20 xoffset=2 yoffset=6 xadvance=24 page=0 chnl=15 51 | char id=78 x=57 y=20 width=16 height=20 xoffset=2 yoffset=6 xadvance=20 page=0 chnl=15 52 | char id=79 x=0 y=126 width=17 height=20 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15 53 | char id=80 x=17 y=126 width=15 height=20 xoffset=2 yoffset=6 xadvance=18 page=0 chnl=15 54 | char id=81 x=40 y=20 width=17 height=24 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=15 55 | char id=82 x=17 y=146 width=15 height=20 xoffset=2 yoffset=6 xadvance=17 page=0 chnl=15 56 | char id=83 x=17 y=166 width=15 height=20 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=15 57 | char id=84 x=0 y=146 width=17 height=20 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=15 58 | char id=85 x=63 y=0 width=16 height=20 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=15 59 | char id=86 x=0 y=66 width=18 height=20 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=15 60 | char id=87 x=0 y=26 width=25 height=20 xoffset=0 yoffset=6 xadvance=25 page=0 chnl=15 61 | char id=88 x=0 y=166 width=17 height=20 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=15 62 | char id=89 x=0 y=186 width=17 height=20 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=15 63 | char id=90 x=17 y=186 width=15 height=20 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=15 64 | char id=91 x=18 y=46 width=6 height=27 xoffset=2 yoffset=3 xadvance=7 page=0 chnl=15 65 | char id=92 x=61 y=79 width=12 height=22 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=15 66 | char id=93 x=83 y=20 width=6 height=27 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=15 67 | char id=94 x=62 y=40 width=11 height=10 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=15 68 | char id=95 x=46 y=44 width=13 height=3 xoffset=0 yoffset=26 xadvance=13 page=0 chnl=15 69 | char id=96 x=46 y=47 width=7 height=4 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=15 70 | char id=97 x=36 y=203 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 71 | char id=98 x=32 y=106 width=14 height=21 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 72 | char id=99 x=49 y=238 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 73 | char id=100 x=46 y=125 width=13 height=21 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=15 74 | char id=101 x=46 y=188 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 75 | char id=102 x=73 y=98 width=10 height=21 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=15 76 | char id=103 x=46 y=146 width=13 height=21 xoffset=1 yoffset=11 xadvance=16 page=0 chnl=15 77 | char id=104 x=46 y=167 width=13 height=21 xoffset=1 yoffset=5 xadvance=15 page=0 chnl=15 78 | char id=105 x=81 y=139 width=4 height=20 xoffset=1 yoffset=6 xadvance=7 page=0 chnl=15 79 | char id=106 x=89 y=20 width=6 height=26 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=15 80 | char id=107 x=33 y=84 width=14 height=21 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=15 81 | char id=108 x=85 y=116 width=3 height=21 xoffset=2 yoffset=5 xadvance=7 page=0 chnl=15 82 | char id=109 x=0 y=206 width=22 height=15 xoffset=1 yoffset=11 xadvance=25 page=0 chnl=15 83 | char id=110 x=49 y=203 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 84 | char id=111 x=22 y=206 width=14 height=15 xoffset=1 yoffset=11 xadvance=16 page=0 chnl=15 85 | char id=112 x=32 y=127 width=14 height=21 xoffset=1 yoffset=11 xadvance=16 page=0 chnl=15 86 | char id=113 x=59 y=125 width=13 height=21 xoffset=1 yoffset=11 xadvance=16 page=0 chnl=15 87 | char id=114 x=74 y=201 width=9 height=15 xoffset=1 yoffset=11 xadvance=9 page=0 chnl=15 88 | char id=115 x=62 y=238 width=13 height=15 xoffset=1 yoffset=11 xadvance=14 page=0 chnl=15 89 | char id=116 x=81 y=70 width=9 height=19 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=15 90 | char id=117 x=59 y=186 width=13 height=15 xoffset=1 yoffset=11 xadvance=15 page=0 chnl=15 91 | char id=118 x=35 y=241 width=14 height=15 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15 92 | char id=119 x=0 y=241 width=21 height=15 xoffset=0 yoffset=11 xadvance=21 page=0 chnl=15 93 | char id=120 x=32 y=188 width=14 height=15 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=15 94 | char id=121 x=60 y=103 width=13 height=21 xoffset=0 yoffset=11 xadvance=13 page=0 chnl=15 95 | char id=122 x=62 y=201 width=12 height=15 xoffset=1 yoffset=11 xadvance=14 page=0 chnl=15 96 | char id=123 x=73 y=20 width=10 height=27 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=15 97 | char id=124 x=83 y=174 width=3 height=24 xoffset=2 yoffset=6 xadvance=7 page=0 chnl=15 98 | char id=125 x=72 y=152 width=9 height=27 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=15 99 | char id=126 x=23 y=20 width=17 height=6 xoffset=1 yoffset=15 xadvance=19 page=0 chnl=15 100 | kernings count=0 101 | -------------------------------------------------------------------------------- /assets/font/RobotoSedang/Roboto-Regular.ttf_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/font/RobotoSedang/Roboto-Regular.ttf_0.png -------------------------------------------------------------------------------- /assets/template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/razisek/Qris-Dinamis/14c622131680965a13b68e7e3224bb8aef50e458/assets/template.png -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const makeFile = require('./src/makeFile'); 2 | const makeString = require('./src/makeString'); 3 | 4 | module.exports = { 5 | makeFile, 6 | makeString 7 | } -------------------------------------------------------------------------------- /index.mjs: -------------------------------------------------------------------------------- 1 | export { makeFile } from './src/makeFile'; 2 | export { makeString } from './src/makeString'; -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | function pad(number) { 2 | return number < 10 ? '0' + number : number.toString(); 3 | } 4 | 5 | function toCRC16(input) { 6 | function charCodeAt(input, i) { 7 | return input.charCodeAt(i); 8 | } 9 | 10 | let crc = 0xFFFF; 11 | for (let i = 0; i < input.length; i++) { 12 | crc ^= charCodeAt(input, i) << 8; 13 | for (let j = 0; j < 8; j++) { 14 | crc = (crc & 0x8000) ? (crc << 1) ^ 0x1021 : crc << 1; 15 | } 16 | } 17 | 18 | let hex = (crc & 0xFFFF).toString(16).toUpperCase(); 19 | return hex.length === 3 ? "0" + hex : hex; 20 | } 21 | 22 | function getBetween(str, start, end) { 23 | let startIdx = str.indexOf(start); 24 | if (startIdx === -1) return ""; 25 | startIdx += start.length; 26 | let endIdx = str.indexOf(end, startIdx); 27 | return str.slice(startIdx, endIdx); 28 | } 29 | 30 | function dataQris(qris) { 31 | const nmid = "ID" + getBetween(qris, "15ID", "0303"); 32 | const id = qris.includes("A01") ? "A01" : "01"; 33 | const merchantName = getBetween(qris, "ID59", "60").substring(2).trim().toUpperCase(); 34 | 35 | const printData = qris.match(/(?<=ID|COM).+?(?=0118)/g); 36 | const printCount = printData.length; 37 | const printerName = printData[printCount - 1].split('.'); 38 | const printer = printerName.length === 3 ? printerName[1] : printerName[2]; 39 | 40 | const nnsData = qris.match(/(?<=0118).+?(?=ID)/g); 41 | const nns = nnsData[nnsData.length - 1].substring(0, 8); 42 | 43 | const crcInput = qris.slice(0, -4); 44 | const crcFromQris = qris.slice(-3); 45 | const crcComputed = toCRC16(crcInput); 46 | 47 | return { 48 | nmid: nmid, 49 | id: id, 50 | merchantName: merchantName, 51 | printer: printer, 52 | nns: nns, 53 | crcIsValid: crcFromQris === crcComputed 54 | }; 55 | } 56 | 57 | module.exports = { 58 | pad, 59 | toCRC16, 60 | dataQris, 61 | }; 62 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qris-dinamis", 3 | "version": "1.0.2", 4 | "description": "Make static QRIS to dynamic QRIS", 5 | "main": "index.js", 6 | "dependencies": { 7 | "jimp": "^0.16.1", 8 | "qrcode": "^1.4.4" 9 | }, 10 | "exports": { 11 | ".": { 12 | "import": "./index.mjs", 13 | "require": "./index.js" 14 | } 15 | }, 16 | "devDependencies": {}, 17 | "scripts": { 18 | "test": "echo \"Error: no test specified\" && exit 1" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/razisek/Qris-Dinamis.git" 23 | }, 24 | "keywords": [ 25 | "qris", 26 | "qris-parser", 27 | "dinamis", 28 | "qris-dinamis", 29 | "payment" 30 | ], 31 | "author": "Rachma Azis", 32 | "license": "MIT", 33 | "bugs": { 34 | "url": "https://github.com/razisek/Qris-Dinamis/issues" 35 | }, 36 | "homepage": "https://github.com/razisek/Qris-Dinamis#readme" 37 | } -------------------------------------------------------------------------------- /src/makeFile.js: -------------------------------------------------------------------------------- 1 | const QRCode = require('qrcode'); 2 | const Jimp = require('jimp'); 3 | const { dataQris } = require('../lib'); 4 | const makeString = require('./makeString'); 5 | const fs = require('fs'); 6 | 7 | const makeFile = async (qris, { nominal, base64 = false, taxtype = 'p', fee = '0', path = '' } = {}) => { 8 | try { 9 | const qrisModified = makeString(qris, { nominal, taxtype, fee }); 10 | 11 | await QRCode.toFile('tmp.png', qrisModified, { margin: 2, scale: 10 }); 12 | 13 | let data = dataQris(qris); 14 | let text = data.merchantName; 15 | 16 | const qr = await Jimp.read('tmp.png'); 17 | const image = await Jimp.read('assets/template.png'); 18 | 19 | const w = image.bitmap.width; 20 | const h = image.bitmap.height; 21 | 22 | const fontTitle = await Jimp.loadFont(text.length > 18 ? 'assets/font/BebasNeueSedang/BebasNeue-Regular.ttf.fnt' : 'assets/font/BebasNeue/BebasNeue-Regular.ttf.fnt'); 23 | const fontMid = await Jimp.loadFont(text.length > 28 ? 'assets/font/RobotoSedang/Roboto-Regular.ttf.fnt' : 'assets/font/RobotoBesar/Roboto-Regular.ttf.fnt'); 24 | const fontSmall = await Jimp.loadFont('assets/font/RobotoKecil/Roboto-Regular.ttf.fnt'); 25 | 26 | image 27 | .composite(qr, w / 4 - 30, h / 4 + 68) 28 | .print(fontTitle, w / 5 - 30, h / 5 + 68, { text, alignmentX: Jimp.HORIZONTAL_ALIGN_CENTER, alignmentY: Jimp.VERTICAL_ALIGN_MIDDLE }, w / 1.5, text.length > 28 ? -180 : -210) 29 | .print(fontMid, w / 5 - 30, h / 5 + 68, { text: `NMID : ${data.nmid}`, alignmentX: Jimp.HORIZONTAL_ALIGN_CENTER, alignmentY: Jimp.VERTICAL_ALIGN_MIDDLE }, w / 1.5, text.length > 28 ? 20 : -45) 30 | .print(fontMid, w / 5 - 30, h / 5 + 68, { text: data.id, alignmentX: Jimp.HORIZONTAL_ALIGN_CENTER, alignmentY: Jimp.VERTICAL_ALIGN_MIDDLE }, w / 1.5, text.length > 28 ? 110 : 90) 31 | .print(fontSmall, w / 20, 1205, `Dicetak oleh: ${data.nns}`); 32 | 33 | if (!path) { 34 | path = `output/${text}-${Date.now()}.jpg`; 35 | } 36 | 37 | if (base64) { 38 | const base64Image = await image.getBase64Async(Jimp.MIME_JPEG); 39 | fs.unlinkSync('tmp.png'); 40 | return base64Image; 41 | } else { 42 | await image.writeAsync(path); 43 | fs.unlinkSync('tmp.png'); 44 | return path; 45 | } 46 | } catch (error) { 47 | throw new Error(error); 48 | } 49 | }; 50 | 51 | module.exports = makeFile; 52 | -------------------------------------------------------------------------------- /src/makeString.js: -------------------------------------------------------------------------------- 1 | const { pad, toCRC16 } = require('../lib'); 2 | 3 | const makeString = (qris, { nominal, taxtype = 'p', fee = '0' } = {}) => { 4 | if (!qris) throw new Error('The parameter "qris" is required.'); 5 | if (!nominal) throw new Error('The parameter "nominal" is required.'); 6 | 7 | let tax = ''; 8 | let qrisModified = qris.slice(0, -4).replace("010211", "010212"); 9 | let qrisParts = qrisModified.split("5802ID"); 10 | 11 | let amount = "54" + pad(nominal.length) + nominal; 12 | 13 | if (taxtype && fee) { 14 | tax = (taxtype === 'p') 15 | ? "55020357" + pad(fee.length) + fee 16 | : "55020256" + pad(fee.length) + fee; 17 | } 18 | 19 | amount += (tax.length === 0) ? "5802ID" : tax + "5802ID"; 20 | let output = qrisParts[0].trim() + amount + qrisParts[1].trim(); 21 | output += toCRC16(output); 22 | 23 | return output; 24 | }; 25 | 26 | module.exports = makeString; 27 | --------------------------------------------------------------------------------