diff options
author | June McEnroe <june@causal.agency> | 2018-09-29 16:29:41 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-09-29 16:29:41 -0400 |
commit | 428c0226ab0d19805306536d60588fb72552ce03 (patch) | |
tree | 51340362a4dbb6750138ad1b38db1c8c3af37d65 | |
parent | Add sans6x10 basic glyphs (diff) | |
download | src-428c0226ab0d19805306536d60588fb72552ce03.tar.gz src-428c0226ab0d19805306536d60588fb72552ce03.zip |
Add f and ' to psfed
Diffstat (limited to '')
-rw-r--r-- | bin/man/psfed.1 | 6 | ||||
-rw-r--r-- | bin/psfed.c | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/bin/man/psfed.1 b/bin/man/psfed.1 index bd15d897..f0709594 100644 --- a/bin/man/psfed.1 +++ b/bin/man/psfed.1 @@ -61,6 +61,12 @@ Select previous/next glyph. .It Ic k Ic j Select glyph in previous/next row. . +.It Ic f +Select glyph of next input character. +. +.It Ic ' +Return to previously selected glyph. +. .It Ic y Copy selected glyph. . diff --git a/bin/psfed.c b/bin/psfed.c index 8cf792da..fb7de3b7 100644 --- a/bin/psfed.c +++ b/bin/psfed.c @@ -252,6 +252,8 @@ static struct { uint32_t scale; uint32_t index; bool modified; + bool to; + uint32_t from; } normal; static struct { @@ -292,6 +294,13 @@ static void normalPrint(const char *prefix) { } static void inputNormal(char ch) { + if (normal.to) { + if (ch < header.glyph.len) normal.index = ch; + normalPrint("index"); + normal.to = false; + return; + } + switch (ch) { break; case 'q': { if (!normal.modified) exit(EX_OK); @@ -308,6 +317,8 @@ static void inputNormal(char ch) { break; case 'l': normalInc(1); normalPrint("index"); break; case 'k': normalDec(NormalCols); normalPrint("index"); break; case 'j': normalInc(NormalCols); normalPrint("index"); + break; case 'f': normal.from = normal.index; normal.to = true; + break; case 047: normal.index = normal.from; normalPrint("index"); break; case 'y': { if (!edit.copy) edit.copy = malloc(header.glyph.size); if (!edit.copy) err(EX_OSERR, "malloc"); |