On Wednesday, 27 September 2017 at 13:22:20 UTC, Vadim Lopatin wrote:
On Tuesday, 26 September 2017 at 22:35:09 UTC, bitwise wrote:
On Tuesday, 26 September 2017 at 15:20:54 UTC, Vadim Lopatin wrote:
New DlangIDE version is released.

I've only had time to take a quick look, but this IDE seems pretty good. I was surprised at how fast it loaded up, and how it downloaded the dependencies for the sample project on it's own.

The text rendering needs work though. Honestly, I passed this editor up the first time I came across it because of the way the text looks. It reminds me of Visual Studio 2005. I couldn't help but assume the IDE was outdated and probably be abandon-ware.

I would definitely change the default font to the platform-IDE defaults:

Visual Studio: Consolas
XCode: Menlo Regular

Also, FreeType has made improvements lately, and now does a much better job of rendering fonts at small sizes(no so blurry). In particular 2.8.1, which just came out, implements a patent-free substitute for MS style clear-type rendering[1][2].

[1] http://i.imgur.com/nK8Xu.png
[2] https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#FT_LOAD_TARGET_LCD

The thick bezels and deep 3D shading make it look retro as well.

For Windows, added libfreetype 2.8.1 dlls.

Made additional fixes for better font rendering.

Win32 binaries are uploaded to
https://github.com/buggins/dlangide/releases/tag/v0.8.2

To disable freetype, delete libfreetype-6.dll

Consolas/Menlo are already selected if "Default" font is chosen for editors.

Hey, thanks!
Looks good.

One small thing though - when you use the LCD/BGR style fonts, you get a mismatch between the font metrics and bitmap size.

So if you're using FT_LOAD_TARGET_LCD, then some of these may be true:

glyph.bitmap_left != (glyph.metrics.horiBearingX >> 6);
glyph.bitmap_top != (glyph.metrics.horiBearingY >> 6);
glyph.bitmap.width != (glyph.metrics.width >> 6);
glyph.bitmap.rows != (glyph.metrics.height >> 6);

The result could be a crash, clipping, or misalignment of glyphs, depending on the assumptions made by your blitting code.

I asked about this on the FT mailing list, and unfortunately, they don't believe that the 1 or 2 pixels of padding added to the bitmap to accommodate the LCD rendering belongs in metrics.

The fix is simply using bitmap_left, bitmap_top, bitmap.width, bitmap.height, instead of the metrics.

I was looking at the commits and saw that you added kerning, so was wondering if you hit this problem.


Reply via email to