09-05-2018, 10:17 PM | #76 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
The legacy einkfb controller has a thing where when the framebuffer content doesn't change, it basically discards the second eInk refresh.
That *this* chain of event would trip that is somewhat strange (given that the fb content does change), but that's the only explanation I can find . I'll see if I can replicate it and find out more . My gut feeling is that the pattern is generated by the driver itself and not eips, and that bypasses/messes with that "feature" somehow. EDIT: Yep, Code:
eink_fb: W einkfb_print_buffers_equal_message:def:full_screen(non-flashing) EDIT²: Ah, no, not anymore: it's using a dedicated ioctl ;D Code:
04:25:04 [400e151c] ioctl(3, FBIO_EINK_CLEAR_SCREEN, 0) = 0 So I guess I'll do that, with a shortcut to only the ioctl if the bg color is white. Last edited by NiLuJe; 09-05-2018 at 11:41 PM. |
09-05-2018, 11:39 PM | #77 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Updated binaries (>= 1.6.1-5) should behave as expected regarding clear on einkfb devices (i.e., <= K4) .
|
09-07-2018, 01:16 PM | #78 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Released v1.6.2 .
Some more tweaks/fixes related to progress bars, in addition to the einkfb/clear fixes mentioned earlier . |
09-17-2018, 07:25 PM | #79 |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Since then, on v1.6.2 fbink -c '' (with null string, not even a single space) works fine on the K3, and it looks more logical to me. +1 Thanks.
|
09-17-2018, 07:39 PM | #80 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Turns out that was an actual side-effect of clear being essentially broken on einkfb devices before that .
(I was slightly confused because without a clear, '' *will* get you shouted at, but the clear makes it safe). |
09-19-2018, 12:48 PM | #81 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Released v1.7.0 .
A bunch of changes in this one, most notably one trying to make row 0 more usable, in particular when there's empty vertical space left (i.e., when we can't fit a final line on screen because its height is larger than the space left). This obviously depends on the screen size & font size, so things will shift a bit on the vertical axis compared to previous versions . |
09-20-2018, 09:07 PM | #82 |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Cleaned up a bit. Added a third style with rounded corners. Passes through all other fbink parameters. {but still inefficient}
Spoiler:
[EDIT 2018-09-28] Further cleanup, Quoted blank expansions, Silenced fbink. Last edited by PoP; 10-03-2018 at 03:07 PM. Reason: v0.30 |
09-28-2018, 03:18 PM | #83 | |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Quote:
Spoiler:
Showing the whole ASCII: Spoiler:
[EDIT 2018-09-30] v0.20 halign and valign better handling [EDIT 2018-10-02] v0.30 only align if text fits one line, support -m -M -X -Y [EDIT 2018-10-03] v0.40 properly skip out of ASCII range characters [EDIT 2019-04-21] Why dont you upgrade to piczat2 later here in the thread I lied: Last edited by PoP; 04-21-2019 at 02:10 PM. Reason: announce pizcat2 |
|
10-03-2018, 03:10 PM | #84 |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Transparency
As a further fbink
Just an idea: would it be possible to implement something like -C TRANSPARENT. I think that in conjunction with a -B BLACK text background it would be fun to view a background image *through* the text. And in addition, for consistency, maybe replace -O, --bgless with -B TRANSPARENT [EDIT] "TRANSPARENT" or "NONE" or "WATER" Code to produce the above screen shot: Last edited by PoP; 10-04-2018 at 11:12 AM. Reason: shorter suggestions for TRANSPARENT |
10-08-2018, 12:00 AM | #85 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
@PoP: Something like a "filled out outline" mode... Hmm, I'll look into it .
|
10-15-2018, 02:22 PM | #86 | ||
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
FreeType & API
@NiLuJe long intro for a short question
Though I like the look of my (somewhat) proportional "box'" font Quote:
Quote:
Then I remembered that you linked FreeType libraries in your linkfonts hack, so I used the Tiny C Compiler to try it on the PantsPatrol font: Code:
[root@kindle root]# cd /mnt/us/tcc [root@kindle tcc]# tcc -Iinclude -Iinclude/freetype2/freetype -Iinclude/freetype2 -Llinkfonts/lib/autohint -lfreetype -o testpantspatrol testpantspatrol.c [root@kindle tcc]# ./testpantspatrol Glyph 0 name .notdef 3 40 25 19 40 Glyph 1 name .null 0 0 0 0 0 Glyph 2 name nonmarkingretur 0 0 18 0 0 Glyph 3 name space 0 0 18 0 0 Glyph 4 name exclam 1 34 14 10 35 Glyph 5 name quotedbl 2 36 23 19 19 Glyph 6 name dollar 1 36 28 25 32 Glyph 7 name percent -2 35 36 36 39 Glyph 8 name ampersand 0 34 37 35 36 Glyph 9 name quotesingle 4 35 16 10 19 Glyph 10 name parenleft 0 35 18 15 43 Glyph 11 name parenright 4 35 21 16 43 Glyph 12 name asterisk 3 36 35 30 32 Glyph 13 name plus 2 28 25 22 22 Glyph 14 name comma 4 9 16 10 17 Glyph 15 name hyphen 2 22 21 17 10 Glyph 16 name period 2 8 15 11 10 Glyph 17 name slash 0 36 22 21 40 Glyph 18 name zero 1 34 32 29 37 Glyph 19 name one 1 34 19 15 35 Glyph 20 name two 2 34 30 27 35 Glyph 21 name three 2 34 31 26 36 Glyph 22 name four 0 36 34 31 36 Glyph 23 name five 2 34 31 28 36 Glyph 24 name six 1 34 30 28 35 Glyph 25 name seven 0 34 27 32 35 Glyph 26 name eight 1 34 31 28 36 Glyph 27 name nine 0 34 30 28 35 Glyph 28 name colon 2 23 15 10 25 Glyph 29 name semicolon 3 23 15 10 32 Glyph 30 name less 1 30 27 25 25 Glyph 31 name equal 3 27 26 20 19 Glyph 32 name greater 1 30 25 25 27 Glyph 33 name question 1 34 27 25 36 Glyph 34 name at 0 0 34 0 0 Glyph 35 name A 1 34 35 33 36 Glyph 36 name B 1 34 33 30 35 Glyph 37 name C 0 34 33 32 36 Glyph 38 name D 1 34 36 33 36 Glyph 39 name E 1 34 27 26 37 Glyph 40 name F 1 34 27 25 35 Glyph 41 name G 1 34 37 35 36 Glyph 42 name H 1 34 35 32 35 Glyph 43 name I 2 33 14 10 35 Glyph 44 name J 1 33 26 23 35 Glyph 45 name K 1 34 33 30 35 Glyph 46 name L 1 34 28 27 35 Glyph 47 name M 1 37 40 36 39 Glyph 48 name N 1 36 36 31 38 Glyph 49 name O 1 34 38 35 35 Glyph 50 name P 1 34 32 30 33 Glyph 51 name Q 1 34 38 35 38 Glyph 52 name R 1 34 33 30 35 Glyph 53 name S 1 34 31 29 36 Glyph 54 name T 0 34 32 31 36 Glyph 55 name U 1 34 34 32 35 Glyph 56 name V 1 35 35 32 36 Glyph 57 name W 1 35 57 54 36 Glyph 58 name X 1 34 31 28 36 Glyph 59 name Y 1 34 34 31 35 Glyph 60 name Z -3 34 32 33 35 Glyph 61 name bracketleft 1 35 20 17 43 Glyph 62 name backslash 0 35 24 23 42 Glyph 63 name bracketright 1 35 21 17 44 Glyph 64 name asciicircum 1 39 31 26 25 Glyph 65 name underscore 1 0 36 34 10 Glyph 66 name grave 1 38 17 12 13 Glyph 67 name a 1 27 30 27 29 Glyph 68 name b 1 33 28 25 34 Glyph 69 name c 0 28 26 25 29 Glyph 70 name d 0 33 28 25 34 Glyph 71 name e 1 28 31 28 29 Glyph 72 name f 1 34 21 20 34 Glyph 73 name g 3 27 31 25 38 Glyph 74 name h 1 34 28 24 35 Glyph 75 name i 1 35 14 10 35 Glyph 76 name j -1 35 17 15 46 Glyph 77 name k 0 34 27 26 35 Glyph 78 name l 1 34 14 10 35 Glyph 79 name m 2 28 48 44 29 Glyph 80 name n 2 28 31 27 29 Glyph 81 name o 1 28 32 29 30 Glyph 82 name p 1 28 28 25 37 Glyph 83 name q 1 28 29 25 37 Glyph 84 name r 2 27 23 20 29 Glyph 85 name s 1 28 28 25 30 Glyph 86 name t 1 33 22 20 34 Glyph 87 name u 1 27 31 26 29 Glyph 88 name v 0 26 29 26 28 Glyph 89 name w 0 27 46 44 29 Glyph 90 name x 3 27 29 23 29 Glyph 91 name y 0 27 32 29 38 Glyph 92 name z -3 27 30 33 29 Glyph 93 name braceleft 0 35 27 26 43 Glyph 94 name bar 0 0 18 0 0 Glyph 95 name braceright 0 35 28 27 42 Glyph 96 name asciitilde 2 23 36 32 15 Glyph 97 name .notdef 0 0 52 0 0 Glyph 98 name .notdef 0 0 52 0 0 Glyph 99 name .notdef 0 0 52 0 0 Glyph 100 name .notdef 0 0 52 0 0 Glyph 101 name .notdef 0 0 52 0 0 Glyph 102 name .notdef 0 0 52 0 0 Glyph 103 name .notdef 0 0 52 0 0 Glyph 104 name .notdef 0 0 52 0 0 Glyph 105 name dotlessi 0 0 18 0 0 Glyph 106 name circumflex 0 0 18 0 0 Glyph 107 name caron 0 0 18 0 0 Glyph 108 name macron 0 0 18 0 0 Glyph 109 name breve 0 0 18 0 0 Glyph 110 name dotaccent 0 0 18 0 0 Glyph 111 name ring 0 0 18 0 0 Glyph 112 name ogonek 0 0 18 0 0 Glyph 113 name tilde 0 0 18 0 0 Glyph 114 name hungarumlaut 0 0 18 0 0 Glyph 115 name quoteleft 4 35 16 10 19 Glyph 116 name quoteright 4 35 16 10 19 Glyph 117 name quotesinglbase 0 0 18 0 0 Glyph 118 name quotereversed 4 35 16 10 19 Glyph 119 name quotedblleft 2 36 23 19 19 Glyph 120 name quotedblright 2 36 23 19 19 Glyph 121 name ellipsis 2 8 37 31 10 [root@kindle tcc]# Could that image be the FreeType Code:
bitmap = cur_glyph->bitmap;
Code:
fbink -g ptr=(bitmap,bitmap.width,bitmap.rows),x=row,y=column -x (glyph_metrics.horiBearingX / 64) -y (- glyph_metrics.horiBearingY / 64)
Code:
x=x+glyph_metrics.horiAdvance / 64
src with the FreeType structures and code, and binary: Last edited by PoP; 10-15-2018 at 07:38 PM. Reason: reddify ? |
||
10-16-2018, 09:52 AM | #87 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
The raw image API is probably going to be limited to the actual C API, because that'd be rather messy and hard to use via a CLI shim, but the plan is basically to accept G8/G8A8/R8G8B8/R8G8B8A8 raw scanlines, passing that data, the x res, the y res (i.e., number of scanlines/rows), the exact size of the buffer, and then everything gets processed through the existing image rendering code .
@sherman also floated the idea of implementing FT support directly, but that's probably on the back burner for now . Last edited by NiLuJe; 10-16-2018 at 10:02 AM. |
10-16-2018, 10:54 AM | #88 |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
ACK, G8 is nice. The FT bitmap can be rendered in 256 shades of gray (for antialiasing). FT recommends using the bitmap as an alpha channel but treating the A8 like G8 should be fine.
|
10-18-2018, 05:11 PM | #89 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
The raw data API just hit master, as well as a fgless mode .
|
10-18-2018, 10:04 PM | #90 | |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
Posts: 3,002
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Quote:
Then howto? While I see "\t-T, --fgless\t\tDon't draw foreground pixels.\n" in fbink_cmd.c I didn't see it shown in FBInk v1.7.0-1-g4bf3845 for Kindle help. Last edited by PoP; 10-19-2018 at 01:26 PM. Reason: more explicit about Help |
|
Tags |
eips, fbink |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
FBInk: A small tool/library to print crap on your screen! | NiLuJe | Kobo Developer's Corner | 282 | 04-22-2024 02:51 AM |
Small print | Broadback | Conversion | 12 | 12-12-2011 02:31 PM |
Small Tool to change book order (PRS-x50) | goaspy | Sony Reader | 113 | 10-14-2011 03:28 PM |
small print | breezeman | Introduce Yourself | 13 | 07-03-2011 09:02 AM |