Re: [ft-devel] more on the preferred setup for `make tests'

2017-08-09 Thread Werner LEMBERG
>>  I think you still haven't fully grasped how I would like the
>> setup, so I've tried to be quite explicit – in particular, you are
>> still talking about `installing', which I don't want...
> 
> As per my last commit, I don't think I am 'installing'.

In your (original) README I find the following:

   Go to the "base" version's folder and change the default 
   installation directory to the "test" folder created.
   

:-)

> I've checked the generation of images in two PC's here.  Are they
> being generated on your side ?

Will do that tomorrow, I hope.

> As to accommodate multiple render_modes,fonts and pt_sizes,
> I am planning on generating multiple folders in this hierarchy.
>   out/html/images/LinLibertine_R/normal/16/

OK.  Please use whatever fits your needs.

> Should there be different HTML file for each of the font file (for
> list-view)?

I think so, yes.  Maybe something like the following.

   index.html
 fontA.html
   renderX.html
   renderY.html
 fontB.html
   renderX.html
   renderY.html
 ...


Werner
___
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel


Re: [ft-devel] more on the preferred setup for `make tests'

2017-08-09 Thread Kushal K S V S
>
>  I think you
> still haven't fully grasped how I would like the setup, so I've tried
> to be quite explicit – in particular, you are still talking about
> `installing', which I don't want...

As per my last commit, I don't think I am 'installing'.
dbd3da066e888c77a51bc37426667d29d603d390

Please confirm.

I've checked the generation of images in two PC's here.
Are they being generated on your side ?

As to accommodate multiple render_modes,fonts and pt_sizes,
I am planning on generating multiple folders in this hierarchy.
  out/html/images/LinLibertine_R/normal/16/

Should there be different HTML file for each of the font file (for
list-view)?




On Wed, Aug 9, 2017 at 3:31 PM, Werner LEMBERG  wrote:

>
> Kushal,
>
>
> attached is a revised version of your `README' file.[*] I think you
> still haven't fully grasped how I would like the setup, so I've tried
> to be quite explicit – in particular, you are still talking about
> `installing', which I don't want...  I now ask you to implement
> everything according to the README :-) If necessary, please adapt to
> your needs.  And please don't hesitate to ask questions!
>
> Looking into `make_sprite.c' I see that you use a single function not
> derived from the dlopen API: `FT_Get_Glyph_Name'.  Please fix that!
> Otherwise it is necessary to directly link your program with FreeType,
> AFAIK, which is an additional complication.
>
>
> Werner
>
>
> [*] BTW, please don't use tabs within the FreeType project except in
> Makefiles!  Similarly, please avoid trailing spaces, and the last
> line in a text file should always be ended with a newline
> character.
>
> HOW TO SET UP `MAKE TESTS'
> ==
>
>
> TODO: Generate HTML page for detailed comparison
>
>
> -
>
>
> INSTRUCTIONS
>
> One version of FreeType is referred as `base' version; normally, this is
> the
> older one.  The other one is called the `test' version, usually the newer
> one; we run `make tests' within the `test' version to compare rendering
> results with the `base' version.  As a result, you get one or more HTML
> pages and a lot of images that shows rendering differences between the
> `base' and `test' versions.
>
>
> 1. Prepare the `base' version
> -
>
> Download and unpack a version of FreeType you want to use as the base
> version (for example, version 2.6.5).
>
> Within the base version, go to `include/freetype/ftoption.h' and uncomment
> this line
>
>   #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
>
> Now configure and compile FreeType so that a DLL gets created, for example
> with
>
>   ./configure --enable-shared --disable-static
>   make
>
> Later on we need the make variable `FT_TEST_BASE_DLL' set to the created
> DLL, for example
>
>   FT_TEST_BASE_DLL=/home/foo/freetype-2.6.5/objs/.libs/
> libfreetype.so.6.12.5
>
> It is expected that all dependencies of `libfreetype.so' (for example,
> `HarfBuzz' or `zlib') can be found; if necessary, set the `LD_LIBRARY_PATH'
> environment variable accordingly.  More details can be found in the
> `dlopen(3)' manpage.
>
>
> 2. Prepare the `test' version
> -
>
> Now change to the test version's directory.  Configure and compile FreeType
> again so that a DLL gets created, for example with
>
>   ./configure --enable-shared --disable-static
>   make
>
>
> 3. Compile the testing code
> ---
>
> Return to this folder (in the `test' version) and compile the testing
> binary
> with
>
>   make
>
>
> 4. Running the tests
> 
>
> You are now ready to run the tests.  To do so it is necessary to set up
> some
> make variables.
>
>   FT_TEST_BASE_DLL  The base version's DLL, see above.
>
>   FT_TEST_DPI   The rendering resolution; if not specified, 72dpi
> gets used.
>
>   FT_TEST_RENDER_MODES  A space-separated list of rendering modes to test.
> Possible values are
>
>   MONOmonochrome rendering, default hinting
>   NORMAL  anti-aliased rendering, default hinting
>   LIGHT   anti-aliased rendering, light hinting
>   LCD LCD rendering with light hinting
>   VLCDvertical LCD rendering with default
> hinting
>
>   FT_TEST_PT_SIZES  A space-separated list of point sizes to test (the
> values can be fractional).  If not set, it defaults
> to 16pt.
>
>   FT_TEST_FONTS A space-separated list of fonts to test.
>
>   FT_TEST_OUT_DIR   A directory where the created HTML and images files
> are put into (using subdirectories `html' and
> `images', respectiv

[ft-devel] more on the preferred setup for `make tests'

2017-08-09 Thread Werner LEMBERG

Kushal,


attached is a revised version of your `README' file.[*] I think you
still haven't fully grasped how I would like the setup, so I've tried
to be quite explicit – in particular, you are still talking about
`installing', which I don't want...  I now ask you to implement
everything according to the README :-) If necessary, please adapt to
your needs.  And please don't hesitate to ask questions!

Looking into `make_sprite.c' I see that you use a single function not
derived from the dlopen API: `FT_Get_Glyph_Name'.  Please fix that!
Otherwise it is necessary to directly link your program with FreeType,
AFAIK, which is an additional complication.


Werner


[*] BTW, please don't use tabs within the FreeType project except in
Makefiles!  Similarly, please avoid trailing spaces, and the last
line in a text file should always be ended with a newline
character.
HOW TO SET UP `MAKE TESTS'
==


TODO: Generate HTML page for detailed comparison


-


INSTRUCTIONS

One version of FreeType is referred as `base' version; normally, this is the
older one.  The other one is called the `test' version, usually the newer
one; we run `make tests' within the `test' version to compare rendering
results with the `base' version.  As a result, you get one or more HTML
pages and a lot of images that shows rendering differences between the
`base' and `test' versions.


1. Prepare the `base' version
-

Download and unpack a version of FreeType you want to use as the base
version (for example, version 2.6.5).

Within the base version, go to `include/freetype/ftoption.h' and uncomment
this line

  #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING

Now configure and compile FreeType so that a DLL gets created, for example with

  ./configure --enable-shared --disable-static
  make

Later on we need the make variable `FT_TEST_BASE_DLL' set to the created
DLL, for example

  FT_TEST_BASE_DLL=/home/foo/freetype-2.6.5/objs/.libs/libfreetype.so.6.12.5

It is expected that all dependencies of `libfreetype.so' (for example,
`HarfBuzz' or `zlib') can be found; if necessary, set the `LD_LIBRARY_PATH'
environment variable accordingly.  More details can be found in the
`dlopen(3)' manpage.


2. Prepare the `test' version
-

Now change to the test version's directory.  Configure and compile FreeType
again so that a DLL gets created, for example with

  ./configure --enable-shared --disable-static
  make


3. Compile the testing code
---

Return to this folder (in the `test' version) and compile the testing binary
with

  make


4. Running the tests


You are now ready to run the tests.  To do so it is necessary to set up some
make variables.

  FT_TEST_BASE_DLL  The base version's DLL, see above.

  FT_TEST_DPI   The rendering resolution; if not specified, 72dpi
gets used.

  FT_TEST_RENDER_MODES  A space-separated list of rendering modes to test.
Possible values are

  MONOmonochrome rendering, default hinting
  NORMAL  anti-aliased rendering, default hinting
  LIGHT   anti-aliased rendering, light hinting
  LCD LCD rendering with light hinting
  VLCDvertical LCD rendering with default hinting

  FT_TEST_PT_SIZES  A space-separated list of point sizes to test (the
values can be fractional).  If not set, it defaults
to 16pt.

  FT_TEST_FONTS A space-separated list of fonts to test.

  FT_TEST_OUT_DIR   A directory where the created HTML and images files
are put into (using subdirectories `html' and
`images', respectively).  If not set, it defaults to
`out'.

It's probably easiest to put everything into a shell script.  Here is an
example call.

  make tests \
FT_TEST_BASE_DLL=/home/foo/freetype-2.6.5/objs/.libs/libfreetype.so.6.12.5 \
FT_TEST_DPI=96 \
FT_TEST_RENDER_MODES="NORMAL LIGHT" \
FT_TEST_PT_SIZES="12 13 14.5 16 20" \
FT_TEST_FONTS="/home/foo/NotoSans-Regular.ttf /home/foo/LinLibertine_R.otf"

After a successful run the file `out/html/index.html' is the top-level entry
file to show all differences.  By clicking on the headers of the respective
columns, they can be arranged (in increasing/decreasing order) based on
glyph index, name, or difference metrics


end of README
___
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel