52 lines
3.8 KiB
Plaintext
52 lines
3.8 KiB
Plaintext
|
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Aligning Text to a Baseline" vod_platform=youtube id=fVyzTKCfchw annotator=Miblo annotator=debiatan]
|
||
|
[0:08][Recap and plan for today]
|
||
|
[2:14][Scaling fonts with respect to the size of the original glyph asset]
|
||
|
[5:42][Getting the bitmap dimensions from the hha_asset structure]
|
||
|
[7:24][Implementing GetBitmapInfo]
|
||
|
[8:15][Drawing text using the original scale of the font]
|
||
|
[11:41][We also need to fix the vertical alignment]
|
||
|
[12:33][Understanding the cause of our bad horizontal advancing behavior]
|
||
|
[14:56][Vertical alignment to a baseline]
|
||
|
[15:58][(Blackboard) Baselines]
|
||
|
[17:56][Using the asset AlignPercentage field to specify the alignment point]
|
||
|
[19:38][LoadGlyphBitmap will write the alignment information in the test asset builder]
|
||
|
[20:26][The alignment information is derived from the text metrics]
|
||
|
[21:43][(Blackboard) Description of the text metrics we'll use]
|
||
|
[23:52][Finding the alignment point of each bitmap]
|
||
|
[26:09][Setting the horizontal alignment to the left of the character]
|
||
|
[27:25][Vertical alignment using text metrics]
|
||
|
[30:27][Testing what we have so far. Still not right]
|
||
|
[32:47][Trying to avoid the double flipping in the glyph pixel extraction code to simplify it]
|
||
|
[37:31][There's no simple way of doing it while restricting the region of the bitmap we need to scan]
|
||
|
[38:05][We're still in janktastic mode][quote 173]
|
||
|
[38:40][(Blackboard) Some theories about what's wrong with the vertical alignment]
|
||
|
[41:42][Does GetTextExtentPoint32 respect the baseline?]
|
||
|
[43:46][Stepping into the code to inspect the metrics values]
|
||
|
[45:55][MinY and tmDescent have conflicting values. Are MinY and MaxY flipped?]
|
||
|
[47:08][Computing MaxY correctly]
|
||
|
[51:45][A heavy brain day at the office][quote 174]
|
||
|
[51:56][Vertical alignment works now]
|
||
|
[52:30][More consistent horizontal spacing]
|
||
|
[53:58][Summary of pending tasks related to font rendering and drawing]
|
||
|
[54:30][Applying gamma to correct the alpha blending of fonts]
|
||
|
[1:00:03][Q&A]
|
||
|
[1:00:31][@ChronalDragon][Does stb_truetype provide text metrics for this sort of thing? Will you show how to get them from the stb lib on stream?]
|
||
|
[1:01:37][@mseery][Will you be covering right-to-left text?]
|
||
|
[1:02:05][@TactileDactyl][Do you have any proprietary dependencies?]
|
||
|
[1:02:18][@DrLeetClown][What were the things you just took off? I'm assuming something for your wrists]
|
||
|
[1:02:25][@RobotChocolateDino][Can you go over how you computed AlignPercentage\[1\] again?]
|
||
|
[1:02:43][Blackboard: Computing AlignPercentage\[1\]]
|
||
|
[1:09:36][@aeadon][Are you developing this engine with the intent to use it beyond this game?]
|
||
|
[1:09:50][@colonparen][Aren't we currently using a fixed-width font? So advancing by some fixed distance (instead of the bitmap width) should improve letter spacing even before discussing kerning in full generality?]
|
||
|
[1:10:19][@mseery][Now that you have text handled, will there be a NetHack (ASCII style) mode for Handmade Hero?]
|
||
|
[1:10:31][@TactileDactyl][Proprietary dependencies - anything that you need to pay a license fee for to develop or sell copies of the game]
|
||
|
[1:12:00][@Mojobojo][Off topic, saved this for the end because I forgot to mention in the beginning. I had a dream with you and Jeff in it. You guys were in my neighborhood on Halloween trick or treating and going door to door asking for candy. At some point I was trying to put on my costume and it got stuck and Jeff was laughing at me]
|
||
|
[1:13:24][@Mojobojo][I did forget a question. How did you guys get in my dream?]
|
||
|
[1:13:53][@ciastek3214][You could try answering the one I just asked]
|
||
|
[1:14:11][@iTz_Kaj][Why not use block-based sprite fonts for debugging and avoid the Windows font headache?]
|
||
|
[1:15:13][@mojo123X][What do you use for version control at work?]
|
||
|
[1:15:59][@mseery][Who is John Galt?]
|
||
|
[1:16:22][Close it down]
|
||
|
[1:16:44][We didn't need those electrons][quote 175]
|
||
|
[/video]
|