Re: about the meson build systel

2020-08-18 Thread Vincent Torri
Hello David

any news on the meson build system ?

regards

Vincent Torri



Re: Logging Library-GSOC

2020-08-18 Thread Vincent Torri
Hello,

On Tue, Aug 18, 2020 at 1:03 PM Priyesh kumar  wrote:
>
> Hi Werner,
> I was trying to compile FreeType on Windows using Cygwin and I was
> getting the following error while executing `sh autogen.sh' command even
> though I have installed the required packages from the Cygwin package 
> installer:
> --
>
> Can't locate Automake/Config.pm in @INC (you may need to install the 
> Automake::Config module) (@INC contains: /usr/share/automake-1.16 
> /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_p
>
> erl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl 
> /usr/share/perl5/core_perl) at /c/cygwin/bin/aclocal-1.16 line 36.
>
> --
> The commands like `make devel;make' which do not use `sh autogen.sh' script 
> are executing fine...
> I have searched about this error online but didn't get any helpful answers.
> Could you please take a look at it as it the only remaining platform to test 
> the changes.

If you want I can tell you how I compile freetype on Windows using
MSYS2 and mingw-w64 (or even on linux with cross compilation)

regards

Vincent Torri



Re: Logging Library-GSOC

2020-08-18 Thread Werner LEMBERG


> I was trying to compile FreeType on Windows using Cygwin and I was
> getting the following error while executing `sh autogen.sh' command
> even though I have installed the required packages from the Cygwin
> package installer:
> --
> 
> 
> *Can't locate Automake/Config.pm in @INC (you may need to install the
> Automake::Config module) (@INC contains: /usr/share/automake-1.16
> /usr/lib/perl5/site_perl /usr/share/perl5/site_perl
> /usr/lib/perl5/vendor_p*
> 
> *erl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl
> /usr/share/perl5/core_perl) at /c/cygwin/bin/aclocal-1.16 line 36.*
> 
> --

Obviously there is a problem with Perl.  No idea how to solve it,
sorry.  In case you can't generate the `configure` script simply copy
it to your Cygwin environment from, say, your GNU/Linux box.

We don't guarantee that a build directly from the git repository works
on all platforms.  However, the tarball created by `make dist` should
work.

> I have searched about this error online but didn't get any helpful
> answers.  Could you please take a look at it as it the only
> remaining platform to test the changes.

IMHO it's not worth that you examine this in more detail.

> I also wanted to ask that other than using `make' and `cmake' is
> there some other way to compile FreeType on Mac platforms?

No idea.  What exactly are you interested in?

> After this, I will proceed towards updating the `docs/DEBUG' file
> and wrap up the project.

Thanks!


Werner



4×4 oversampling is even better than FreeType antialiasing

2020-08-18 Thread piotrunio-2004
Includes FreeType code to do 4×4 oversampling
ÿþI find 4×4 oversampling to be even 
better than FreeType antialiasing.



"  4×4 oversampling will render a full 
pixel even when tiny parts of it are 
outside of the outline.

"  4×4 oversampling does not have the 
positional uncertainty of area 
matching, therefore multiple of the 
same outline on top of each other do 
not lose smoothness, and it is possible 
to stack rendered glyphs seamlessly.

"  4×4 oversampling has the same 
rasterizer as the bilevel renderer, 
making for consistent rendering, and 
has the exact same features such as 
dropout control.

"  4×4 oversampling is accurate 
anti-aliasing to what is used in a 
standard TrueType renderer, the classic 
GDI renderer.



How to do 4×4 oversampling?



"  Create hinted outline, like in 
bilevel rendering but with a grayscale 
GETINFO

"  Scale the outline four times 
horizontally and four times vertically

"  Render bilevel rendering



How to represent 4×4 oversampling in 
FreeType?



   FT_UInt     interpreter_version = 
TT_INTERPRETER_VERSION_35;

   FT_Property_Set(library, 
"truetype", "interpreter-version", 
&interpreter_version);

   if(FT_Get_Gasp(face, 
ppem)&FT_GASP_DO_GRAY){

      FT_Load_Glyph(face, glyph, 
FT_LOAD_NO_BITMAP|FT_LOAD_TARGET_NORMAL|FT_LOAD_NO_AUTOHINT);

      for(int_fast64_t i=0; 
i<face->glyph->outline.n_points; i++){

         
face->glyph->outline.points[i].x *= 4;

         
face->glyph->outline.points[i].y *= 4;

      }

      FT_Render_Glyph(face->glyph, 
FT_RENDER_MODE_MONO);

   }

   else{

      FT_Load_Glyph(face, glyph, 
FT_LOAD_TARGET_MONO|FT_LOAD_NO_AUTOHINT|FT_LOAD_RENDER|FT_LOAD_MONOCHROME);

   }



After FreeType rendering, how to stack 
4×4 oversampled glyphs?



"  The same as in bilevel rendering: use 
the or gate '|'

"  Discard pixels above font height 
boundaries (scaled four times)



After text line rendering, how to write 
the 4×4 oversampling line of text to 
pixels?



"  Find the amount of pixels in each 4×4 
square

"  Replace each 1 with 0

"  Convert foreground color and 
background color from sRGB to RGB 
(lookup table for which RGB value 
corresponds to each sRGB value)

"  Use linear interpolation assuming 
each 0 is background color and each 16 
is foreground color

"  Convert the resulting RGB colors to 
sRGB (lookup table for what is the 
first RGB value that corresponds to 
each sRGB value with eight step binary 
search)

Re: Logging Library-GSOC

2020-08-18 Thread Priyesh kumar
Hi Werner,
I was trying to compile FreeType on Windows using Cygwin and I was
getting the following error while executing `sh autogen.sh' command even
though I have installed the required packages from the Cygwin package
installer:
--


*Can't locate Automake/Config.pm in @INC (you may need to install the
Automake::Config module) (@INC contains: /usr/share/automake-1.16
/usr/lib/perl5/site_perl /usr/share/perl5/site_perl
/usr/lib/perl5/vendor_p*

*erl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl
/usr/share/perl5/core_perl) at /c/cygwin/bin/aclocal-1.16 line 36.*

--
The commands like `make devel;make' which do not use `sh autogen.sh' script
are executing fine...
I have searched about this error online but didn't get any helpful answers.
Could you please take a look at it as it the only remaining platform to
test the changes.

I also wanted to ask that other than using `make' and `cmake' is there some
other way to compile FreeType on Mac platforms?
After this, I will proceed towards updating the `docs/DEBUG' file and wrap
up the project.

Thanks,
Priyesh


Re: Migrate to github

2020-08-18 Thread Werner LEMBERG

Hello Anurag,


thanks for your thoughts.

> *#1: Migrate development over to github:*
> Host the git repo on GitHub, use the GitHub issues and PR tracker
> instead of GNU Savannah and e-mail

No.  We won't migrate to github.  If at all, gitlab would be a
possible choice.

> *3. Easier for newbies:*
> *4. Attracts younger developers:*

This doesn't convince me.  A developer who is attracted to a project
by the use of github or gitlab only is probably a developer we don't
need.

> *#2: Join GitHub sponsors program:*
> Text rendering has a profound impact on the user experience and
> there would be many people willing to sponsor improvements to text
> rendering, particularly linux folks, so it would be great if there
> was a way to channel their support.

Believe me, sponsoring is not a problem – I have been sponsored by
Google and Adobe to do *a lot* for FreeType, and I actually don't need
money for working on FreeType.  Neither does David, Alexei, or
Toshiya.  It's rather a matter of stamina, interest, and time.

> *Benefits:*
> Increase incentive for developers to contribute to freetype, the
> money could be used to hire part time devs, support website
> infrastructure, etc.

Mhmm, not convinced.

> GitHub actions can be used to setup a ci for freetype and make
> issue/PR tracking easier with bots.

Yes, we will eventually use CI features.

> Overall, the proposed changes would decrease friction for new
> developers,

What new developers?

> These are my points (I am a newbie too), I hope this post starts a
> discussion and we are able to reach a conclusion.

The most important thing would be to find a capable person who is
willing to invest time into a transition of the main developing
platfrom from Savannah to gitlab, which is a tedious and very
time-consuming process.

I'm also working for GNU LilyPond; a transition to gitlab was done
recently, and it took a few months to iron out everything.  You might
check the 'lilypond-devel' mailing list for e-mails on this topic
(mainly from Jonas Hahnfeld), starting at

  https://lists.gnu.org/archive/html/lilypond-devel/2020-02/msg00249.html

We were really lucky that this guy appeared recently...


Werner