ref: 65d1d12a2188d0e3424ed7d696d896967165eb98
parent: aabdbc1576eb78ff59cce5a293a91ae019d2e281
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Thu Jul 18 12:45:18 EDT 2024
dumpmap: fix a single glyph map
--- a/test.h
+++ b/test.h
@@ -28,23 +28,33 @@
total = 0;
maxh = 0;
- gap = 1;
lines = map > 1;
fill = map > 2;
- for(i = 0; i < n; i++){
- if(im[i].b == nil)
- continue;
- if(maxh < im[i].h)
- maxh = im[i].h;
- total += im[i].w;
+ if(n == 1){
+ gap = 8;
+ maxh = im->h;
+ if(im->baseline)
+ maxh += im->baseline;
+ bw = 2*gap + im->w;
+ bh = 2*gap + maxh;
+ npix = bw * bh;
+ }else{
+ gap = 1;
+ for(i = 0; i < n; i++){
+ if(im[i].b == nil)
+ continue;
+ if(maxh < im[i].h)
+ maxh = im[i].h;
+ total += im[i].w;
+ }
+ mid = total / n;
+ npix = (mid+gap)*(maxh+gap)*n;
+ bh = sqrt(npix);
+ bw = npix/bh;
+ npix *= 2;
+ bh *= 2;
+ npix += bw*gap;
}
- mid = total / n;
- npix = (mid+gap)*(maxh+gap)*n;
- bh = sqrt(npix);
- bw = npix/bh;
- npix *= 2;
- bh *= 2;
- npix += bw*gap;
if((b = malloc(npix*3)) == nil)
return -1;
memset(b, 0xff, npix*3);