From a16f7a64812252d7e592c65c04dec24f82ef094d Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Tue, 2 May 2023 22:13:01 +0300 Subject: [PATCH] add font --- .editorconfig | 6 ++++++ font/.gitignore | 1 + font/README.md | 25 +++++++++++++++++++++++++ font/bdfconv/.editorconfig | 5 ----- font/bdfconv/.gitignore | 4 ++++ font/bdfconv/generate.sh | 3 +++ font/monogram.ttf | Bin 0 -> 41516 bytes 7 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 font/.gitignore create mode 100644 font/README.md delete mode 100644 font/bdfconv/.editorconfig create mode 100644 font/bdfconv/.gitignore create mode 100755 font/bdfconv/generate.sh create mode 100644 font/monogram.ttf diff --git a/.editorconfig b/.editorconfig index 324c6dd..2916a69 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,3 +18,9 @@ trim_trailing_whitespace = false [Makefile] indent_style = tab indent_size = 4 + +[font/bdfconv/**] +indent_style = unset +indent_size = unset +trim_trailing_whitespace = unset +insert_final_newline = unset diff --git a/font/.gitignore b/font/.gitignore new file mode 100644 index 0000000..6109e0e --- /dev/null +++ b/font/.gitignore @@ -0,0 +1 @@ +*.bdf diff --git a/font/README.md b/font/README.md new file mode 100644 index 0000000..9def3ec --- /dev/null +++ b/font/README.md @@ -0,0 +1,25 @@ +## 🔤 Build font + +⚠️ This guide aclualy for Linux. + +## 1. +1. Open \*.ttf in FontForge. +2. With **Shift** select needed glyps. +3. Select **Bitmap Scrike Available** in **Element** menu. +4. Write `16` in **Pixel sizes** text area. +5. Select **Generate Fonts** in **File** menu. +6. Select **No Outline Font** & **BDF**. +7. Click **Generate**. + +## 2. Make `bdfconv` + +```sh +cd ./bdfconv +make +``` + +## 3. Generate `u8g2` font + +```sh +./bdfconv -f 1 -n u8g2_cyr_font -o cyr_font.c ../monogramextended-*.bdf +``` diff --git a/font/bdfconv/.editorconfig b/font/bdfconv/.editorconfig deleted file mode 100644 index 4b3a778..0000000 --- a/font/bdfconv/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -root = true - -[{*.c,*.h}] -indent_style = unset -indent_size = unset diff --git a/font/bdfconv/.gitignore b/font/bdfconv/.gitignore new file mode 100644 index 0000000..ec4abae --- /dev/null +++ b/font/bdfconv/.gitignore @@ -0,0 +1,4 @@ +*.o +*.s +bdfconv +cyr_font.c diff --git a/font/bdfconv/generate.sh b/font/bdfconv/generate.sh new file mode 100755 index 0000000..30ddd5e --- /dev/null +++ b/font/bdfconv/generate.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +./bdfconv -f 1 -m '32-255' -n u8g2_cyr_font -o cyr_font.c ../monogramextended-*.bdf diff --git a/font/monogram.ttf b/font/monogram.ttf new file mode 100644 index 0000000000000000000000000000000000000000..509abe455d53329d3c4b1df542b2e368046be203 GIT binary patch literal 41516 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 VD&YOXOaGcPx< zFxQ%KbDh~`cAE)vz1d^-ntkS#=2d3DIUrv$ljfi~WL_;lk^g26n;Xm#bJW~uUSn=D zuQfND*O^<)ADLUtALCckUT@xD-e_(!Z!))=H=8@mTg+R{+svKj?dC4?4)ad)C+1z| z-R5rd9&?X*uX&$&zq!}^skzU5z(mZ57 zWga%4HlHz{HIJCjna`U)H(xMcG>@9UFprrpnJ=5Kn6Jv`L;YaXmD)9^7+qa^h8u zaeM4JZ`Z!VyN({Xe*eTxJ-dqbtn+psJTks(*Tm$JS-V2Bd;6|&fbQOH58Huf{77Sm zLpb3O?yv|a^e}5jxO>(_Xf}2@GA8V?dxwQMp@*Ie3PO7J6zy3T1OT)4gy!rEb{#x$ zVB8Wrdrx%Ib766B&)%Y4zwo;8!}Yz`bzgL3-~Qbb-TU;=xX5v`&v9~*$c>iOD^UOC9qE9rKr3<`3#&&ZT>gPVN~$eDuKn@uNrP9E{JpFS9fpwlrK8p`Cp= zI_bX5(s0-wUS#jOK@UAIDn!?FL(!gnc?4kgk?5rRatr2&9_p79J?^`R9Y zuMLpb2FSw!@^FAW93T$|`i29J;ecZ};1~`#h69e_fMZ?2u`b|P7jUc#IMxLm>jI8- z0mr(4V_m?pF5p-n?pPo0SRd|KAMRKm?idYJjRsmq11+P0meBxtG(a8=kVgaL(Excv zfV?5_yCLA%5O8b=I5q?v8v>3E0mp`bV?)5PG2qx3aBK`XHU=CU1CEUW$HstTW56-G zhB;*|3P5-C=bC$PU2_kP>)hv>gK)myosYWX26x=(j$7+HjvhWZbNuk(gRj{?as82o zwvHZ}rN_hj_Ut`kKiqxrHIuw&7&K_rXpSAzno&?83M#@=Q9YtiG4H{?jw^}#)ZoZX YkAL^T3SBkz_)ROf^5RoJI=K7)07Vlr3jhEB literal 0 HcmV?d00001