[Cuis-dev] Big News! Cuis is now Unicode and Vector Graphics

Mariano Montone marianomontone at gmail.com
Mon Oct 31 08:45:39 PDT 2022


Hi Juan,

thanks for the explanation. I suspected it had to do with the technique 
being used for VG.

Cheers,

     Mariano

El 31/10/22 a las 12:37, Juan Vuletich escribió:
> Hi Mariano,
>
> Thanks for the samples and the details on your screen. Now I can tell 
> what you see.
>
> Other Text Rasterization Engines, such as FreeType, CoreText and 
> ClearType do auto-hinting of glyphs. This aligns glyph features to 
> integer pixel coordinates at the expense of correct geometry. 
> VectorEnginePlugin doesn't. It rasterizes glyphs just like any other 
> vector graphics, respecting the true geometry of glyphs.
>
> This is only noticeable in horizontal lines, when they want to cover 
> half a pixel or so.
>
> If you disable glyph caching, or (even slightly) zoom windows, then 
> not even the position of glyphs is aligned to integer pixels, giving a 
> more correct layout of text, making each instance of the same 
> character be drawn differently. You can see this if you capture a 
> screen and zoom the pixels to make them larger.
>
> This is a rather fundamental decision on how VectorEngine works. It 
> doesn't "draw pixels", but applies a low pass filter and then samples 
> a continuous shape.
>
> The older StrikeFonts were rendered with FreeType, and then captured 
> as Bitmaps.
>
> Thanks,
>
>
>
> On 10/30/2022 10:28 AM, Mariano Montone via Cuis-dev wrote:
>> El 29/10/22 a las 21:01, Juan Vuletich escribió:
>>> Hi Mariano,
>>>
>>> On 10/29/2022 7:53 AM, Mariano Montone via Cuis-dev wrote:
>>>> A thing I would like to adjust if it were possible, is that I feel 
>>>> like the font rendering loses some sharpness with VG; some fonts 
>>>> more than others, and some sizes more than others.
>>>
>>> You can tweak 
>>> VectorEngineWithPluginSubPixel>>#defaultAntiAliasingWidth and then 
>>> evaluate `TrueTypeFont allInstancesDo: [ :f | f releaseCachedState 
>>> ].`, to try different parameters for the antialiasing filter.
>> Ah, apologies to Gerald, I didn't see that part when he pointed it to me.
>>>
>>> Still, I'm curious. Can you post a Display using 
>>> HybridCanvas/VectorCanvas and another using BitBltCanvas? Best if 
>>> you can include some fonts/sizes you feel are sharp enough, and 
>>> others that aren't. If file sizes are too big for the list (I 
>>> believe it is 500kb once encoded in MIME64), please send them to me 
>>> privately.
>> I'm inserting some images below. Look at the equality symbol for 
>> example. I think the problem is that the greying of the font is too 
>> much and makes the font blurry. But my comparison is probably unfair, 
>> since I'm using the DejaVuBitmap font for the Bitmap case, with 
>> doesn't use the greying, or too little; but that's an example of what 
>> I mean "sharp".
>>>
>>> One question: What Display resolution do you use? Size of screen? 
>>> Does the `Display size` in Cuis match the OS and physical screen 
>>> resolution? (this is rarely the case on MacOS, unfortunately).
>>
>> I'm on Linux with screen size of 1366x768. Cuis Display is 1360x713.
>>
>>>
>>> Finally, a screen capture of an editor in your host OS with some 
>>> text that looks sharp to your eyes would be helpful.
>>
>> Bitmap Cuis (DejaVuBitmap) (sharp):
>>
>> Vector (DejaVuSans) (not sharp):
>>
>> Host OS app:
>>
>>
>> I feel like the Host OS is using less greying around the fonts than 
>> Cuis and that makes it sharper.
>>
>>
>> Thanks,
>>
>>     Mariano
>>
>>
>>
>
>
> -- 
> Juan Vuletich
> cuis.st
> github.com/jvuletich
> researchgate.net/profile/Juan-Vuletich
> independent.academia.edu/JuanVuletich
> patents.justia.com/inventor/juan-manuel-vuletich
> linkedin.com/in/juan-vuletich-75611b3
> twitter.com/JuanVuletich

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221031/180c134f/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p75LkbSN29O7QIU4.png
Type: image/png
Size: 6391 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221031/180c134f/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: keWMQ0U7KavaL0ou.png
Type: image/png
Size: 8958 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221031/180c134f/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: L6fFNKYogMGRWfCq.png
Type: image/png
Size: 23202 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221031/180c134f/attachment-0005.png>


More information about the Cuis-dev mailing list