From dc87d9c00d518962bb89ce62732409da55743093 Mon Sep 17 00:00:00 2001
From: jouae <51120603+jouae@users.noreply.github.com>
Date: Sat, 21 Sep 2024 05:28:27 +0800
Subject: [PATCH] Port font editor to SDL2
Port font editor from X11 to SDL2, improving portability,
cross-platform support, and maintainability.
Window creation now uses SDL_CreateWindow, replacing X11 XCreateWindow.
Event handling is migrated to SDL2 SDL_PollEvent, streamlining
the capture of keyboard and mouse inputs.
Rendering is updated to leverage SDL_Renderer and SDL_Surface,
replacing X11 rendering functions.
Key event behaviors have been refined for better usability.
Pressing SDLK_ESCAPE or clicking the window close button (SDL_QUIT)
now exits the application.
To address a formatting issue with clang-format,
the function delete() has been renamed to delete_first_cmd(),
avoiding conflicts with the C++ keyword delete.
File reading has also been simplified using fopen for improved clarity.
The README has been expanded with a background on twin-fedit,
key bindings, a quick start guide,
and a demo GIF to help users get started.
Close #7
---
tools/font-edit/Makefile | 4 +-
tools/font-edit/README.md | 86 +++++++-
tools/font-edit/assets/demo.gif | Bin 0 -> 336799 bytes
tools/font-edit/twin-fedit.c | 376 ++++++++++++++++++--------------
tools/font-edit/twin-fedit.h | 6 -
5 files changed, 299 insertions(+), 173 deletions(-)
create mode 100644 tools/font-edit/assets/demo.gif
diff --git a/tools/font-edit/Makefile b/tools/font-edit/Makefile
index 0165bfd0..1b255267 100644
--- a/tools/font-edit/Makefile
+++ b/tools/font-edit/Makefile
@@ -1,7 +1,7 @@
TARGET = twin-fedit
-CFLAGS = $(shell pkg-config --cflags cairo x11) -g -Wall
-LIBS = $(shell pkg-config --libs cairo x11)
+CFLAGS = $(shell pkg-config --cflags cairo) $(shell sdl2-config --cflags) -g -Wall
+LIBS = $(shell pkg-config --libs cairo) $(shell sdl2-config --libs)
OBJS = \
twin-fedit.o \
diff --git a/tools/font-edit/README.md b/tools/font-edit/README.md
index 0170bf8a..f1d23790 100644
--- a/tools/font-edit/README.md
+++ b/tools/font-edit/README.md
@@ -1,17 +1,93 @@
# twin-fedit
`twin-fedit` is a tool allowing users to edit specific scalable fonts
-which are expected to fit the requirements of embedded systems with larger
-screens.
+which are expected to fit the requirements of embedded systems with larger screens.
+
+
+
+
## Build Dependency
```shell
-sudo apt-get install libx11-dev libcairo2-dev
+sudo apt-get install libsdl2-dev libcairo2-dev
```
## Usage
```shell
make
-./twin-fedit < nchars
+./twin-fedit nchars
+```
+
+## Background
+The glyphs in `twin-fedit` is originated from [Hershey vector fonts](https://en.wikipedia.org/wiki/Hershey_fonts), which were created by Dr. A. V. Hershey while working at the U. S. National Bureau of Standards.
+
+The Hershey vector fonts set of `twin-fedit` is [`nchars`](nchars), for example, the interpolation points and operations used to draw the glyph `1` are as follows
+```
+/* 0x31 '1' offset 666 */
+ 0, 10, 42, 0, 2, 3,
+ 0, 10, /* snap_x */
+ -21, -15, 0, /* snap_y */
+ 'm', 0, -34,
+ 'c', 4, -35, 8, -38, 10, -42,
+ 'l', 10, 0,
+ 'e',
```
-(press 'q' to next character)
+The first line to 4-th line are used to draw the glyph.
+
+The first line of is the header that contains the information of the character `1`, `0x31` is the ASCII code of `1` and offset `666` is the
+
+The character `m` is an abbreviation for `move to`, and the values following `m` represent the x and y positions to move to in the drawing window's coordinate system, respectively.
+
+The character `c` is an abbreviation for `curve to`, and the values following `c` represent three x-y coordinate points used to draw a cubic Bézier curve, in the order of the first control point, the second control point, and the endpoint.
+
+The character `l` is an abbreviation for `line to`, and the values following `l` represent the x and y positions to move to, relative to the position from the previous operation, in the drawing window's coordinate system, respectively.
+
+The character `e` is an abbreviation for `end`.
+
+According to the steps outlined above for drawing glyph `1`, it can be split into the following steps:
+
+1. `'m' 0,-34`: Move to `0,-34` and plot a point at `0,-34`.
+2. `'c' 4, -35, 8, -38, 10, -42`: Starting from `0,-34` and ending at `10,-42`, draw a curve using Bézier curve with the first control point at `4,-35` and the second control point at `8,-38`.
+3. `'l' 10,0`: Starting from `10,-42` and ending at `10,0`, draw a straight line.
+4. `'e'`: End the drawing of glyph `1`.
+
+Each point seen in `twin-fedit` corresponds to an operation. By selecting a point in `twin-fedit`, you can modify the coordinates to edit any glyph.
+
+## Quick Guide
+For each glyph, there are the following shortcut keys used for editing the glyph.
+
+| Key | Functionality |
+| --- | --- |
+| ESC | Exit program |
+| left mouse button | Select a point as the first operation for that glyph |
+| right mouse button | Select a point as the last operation for that glyph |
+| d | Delete selected point|
+| f | Replace a line with a spline |
+| q | Switch to next character |
+| s | Split a spline into two splines by start point and end point |
+| u | Undo the last operation |
+
+
+To move a point
+1. Select a point by left mouse button,
+2. Use arrow keys to move the selected point.
+
+To move a control point
+1. Select a point with two control points by left mouse button,
+2. Use arrow keys to move the first control point,
+3. Keep pressing shift key and use arrow keys to move the second control point.
+
+To split a spline or line
+1. Select two point by left and right mouse button,
+2. Use s key to split the line or spline into two segments.
+
+To replace the line or spline by another spline
+1. Select two point by left and right mouse button as start and end of the another spline,
+2. Use f key to replace the line or spline with another spline.
+
+To delete a point
+1. Select a point by left mouse button,
+2. Use d key to delete the selected point.
+
+To undo any operations above
+1. Use u key.
\ No newline at end of file
diff --git a/tools/font-edit/assets/demo.gif b/tools/font-edit/assets/demo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb8c5a8a40cb770bd608c388d5de190e47a4cf9f
GIT binary patch
literal 336799
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