https://github.com/memononen
Usually you pick the text style from the previous character, so that if you write something after a bold text, it will be bold.
Except links, where the style does not "bleed". It's ok to type in the middle, though.
Usually you pick the text style from the previous character, so that if you write something after a bold text, it will be bold.
Except links, where the style does not "bleed". It's ok to type in the middle, though.
Stuff like:
- what happens when you press enter after a header
- automatically starting a list when you start a line with -,
- or stuff like keeping the tabs in taps when typing code (who uses spaces, anyways!)
Stuff like:
- what happens when you press enter after a header
- automatically starting a list when you start a line with -,
- or stuff like keeping the tabs in taps when typing code (who uses spaces, anyways!)
There's a lot of rich text editing tricks to discover, like that when you press enter after a header, you will automatically get body text style.
There's a lot of rich text editing tricks to discover, like that when you press enter after a header, you will automatically get body text style.
It's definitely solvable, but solutions are potentially unorthodox.
One option would be to treat all the list items as one section for vertical padding, and add another option for spacing between same type of blocks.
It's definitely solvable, but solutions are potentially unorthodox.
One option would be to treat all the list items as one section for vertical padding, and add another option for spacing between same type of blocks.
Lists are a bit tricky, though. You want to style them for:
- line height, green (easy, already supported)
- space between list items, yellow
- space around the list
The whole list kind reads like a single paragraph, but actually each list item is a block.
Lists are a bit tricky, though. You want to style them for:
- line height, green (easy, already supported)
- space between list items, yellow
- space around the list
The whole list kind reads like a single paragraph, but actually each list item is a block.
My goal is to support roughly markdown for the rich text rendering and editing.
I'm trying my best to not make things complicated. For example I really would like to avoid adding hierarchy to the text.
My goal is to support roughly markdown for the rich text rendering and editing.
I'm trying my best to not make things complicated. For example I really would like to avoid adding hierarchy to the text.
There are always tons of small details, like changing the caret to preview the italic/oblique.
There are always tons of small details, like changing the caret to preview the italic/oblique.
The biggest struggle is how to make things simple. I dont want to include an UI library in the text library (that would be another project). But it should not be too hard either.
The biggest struggle is how to make things simple. I dont want to include an UI library in the text library (that would be another project). But it should not be too hard either.
This merited another visit to the vertical text alignment rabbit hole. A lot of frustration and hopefully a solution.
This merited another visit to the vertical text alignment rabbit hole. A lot of frustration and hopefully a solution.
I've earlier used just half the descender to vertically align text to buttons, but the cap-height to baseline seems more versatile.
I've earlier used just half the descender to vertically align text to buttons, but the cap-height to baseline seems more versatile.
Ended up with some parts of CSS and some parts of Figma.
Ended up with some parts of CSS and some parts of Figma.
The IME itself is not part of Skribidi, it should be handled by the platform abstraction, but showing the IME composition is.
The IME itself is not part of Skribidi, it should be handled by the platform abstraction, but showing the IME composition is.
That allowed me to let the middle rows to grow too if there's empty space above. I previously had that only for the last row. It seems to help once there starts to be fragmentation.
That allowed me to let the middle rows to grow too if there's empty space above. I previously had that only for the last row. It seems to help once there starts to be fragmentation.
This is straight up implementation of Blackpawn atlas: blackpawn.com/texts/lightm...
But added remove and consolidation.
This is straight up implementation of Blackpawn atlas: blackpawn.com/texts/lightm...
But added remove and consolidation.
For dynamic atlases, I have liked the skyline packer as it's simple and effective. And growing the atlas texture up to certain point and then rebuilding everything has worked well as garba collection strategy.
For dynamic atlases, I have liked the skyline packer as it's simple and effective. And growing the atlas texture up to certain point and then rebuilding everything has worked well as garba collection strategy.
I want to find an option that is faster than the analytic method (e.g. used by stb_tt and FT), as it gets into the hundreds of milliseconds per glyph on larger sizes.
I also wanted something that has a change to work with emojis.
I want to find an option that is faster than the analytic method (e.g. used by stb_tt and FT), as it gets into the hundreds of milliseconds per glyph on larger sizes.
I also wanted something that has a change to work with emojis.