Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-20 Thread Alexei Podtelezhnikov



> On Apr 19, 2022, at 22:36, Matsumura, George  wrote:
> 
> From what I could glean, rusttype uses the rust library ab_glyph_rasterizer 
> for its rendering, which in turn uses the algorithm used by stb_truetype, 
> which is described here:
> https://nothings.org/gamedev/rasterize/

which references LibArt, which is also the basis of FreeType algorithm. I would 
focus on something with legitimate claims of beating FreeType performance, not 
just rust for the sake of rust.

A


Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-19 Thread Matsumura, George

Greetings Anurag,

From what I could glean, rusttype uses the rust library 
ab_glyph_rasterizer for its rendering, which in turn uses the algorithm 
used by stb_truetype, which is described here:

https://nothings.org/gamedev/rasterize/

I hope this helps.

Regards,
George

On 4/19/22 15:00, Anurag Thakur wrote:
NOTICE: This message was sent from outside Ohio University. Please use 
caution when clicking links or opening attachments in this message.
Indeed! RustType looks like a good candidate for evaluation.  It also 
appears to be using a different algorithm for rasterization, I'll read 
more about it.


Regards
Anurag

On 13-Apr-2022 12:18 AM, Bermler  wrote:

rustType might be a good place to look at as well


https://github.com/redox-os/rusttype





On Tue, Apr 12, 2022 at 12:20 PM, Anurag Thakur
mailto:anurag105cse...@bpitindia.edu.in>> wrote:

Hello everyone!

I am Anurag Thakur, a first-year undergraduate student pursuing
Computer Science.

I am interested in contributing to the project *“**Integrate
FreeType with alternative rendering engines” *as part of GSOC
2022 and have been learning about it for some time.

Reading through the mailing list discussions and building on the
work of other contributors, I have been successful in creating
prototype renderer module for FreeType that

is based on the font-rs rasteriser. The renderer module is
written in C and is very barebones at the moment, since I wanted
to discuss with the community and wait for an official approval for

my proposal before investing too much effort in any particular
direction.

Since the parsing improvements of font-rs don’t completely apply
to FreeType due to the requirement of hinting etc., I have been
focusing on the rasteriser improvements, i.e., a dense data
structure

for storing the accumulation buffer, that is better suited for SIMD.

Having briefly studied the renderers mentioned at FreeType’s
GSOC page, I believe the best course of action would be to first
properly integrate a font-rs based renderer in FreeType

and then working on optimizing the implementation by studying
the code of font-go and fontdue.

I am currently studying the code of Fontdue and since it started
as a fork of font-rs I hope integration will not be too tough.

Pathfinder seems to be very different from the other renderers,
I need to study more about it, and will try to determine the
best way to integrate it with FreeType.

I am also working on a way to properly benchmark the different
implementations and would appreciate any pointers regarding it.

I would be grateful if the community could point me towards
other font-rendering implementations that could be of interest
to FreeType. Any research project or prototype that

can bring performance improvements is welcome.

Any other insights or guidance regarding this project would be
greatly appreciated.

I have submitted my draft proposal to the GSOC website, and
humbly request the mentors to take a look at it and provide
feedback.


Regards

Anurag









Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-19 Thread Anurag Thakur
Indeed! RustType looks like a good candidate for evaluation.  It also appears 
to be using a different algorithm for rasterization, I'll read more about it.

Regards
Anurag

On 13-Apr-2022 12:18 AM, Bermler  wrote:
rustType might be a good place to look at as well


https://github.com/redox-os/rusttype



On Tue, Apr 12, 2022 at 12:20 PM, Anurag Thakur 
mailto:anurag105cse...@bpitindia.edu.in>> 
wrote:

Hello everyone!



I am Anurag Thakur, a first-year undergraduate student pursuing Computer 
Science.

I am interested in contributing to the project “Integrate FreeType with 
alternative rendering engines” as part of GSOC 2022 and have been learning 
about it for some time.



Reading through the mailing list discussions and building on the work of other 
contributors, I have been successful in creating prototype renderer module for 
FreeType that

is based on the font-rs rasteriser. The renderer module is written in C and is 
very barebones at the moment, since I wanted to discuss with the community and 
wait for an official approval for

my proposal before investing too much effort in any particular direction.



Since the parsing improvements of font-rs don’t completely apply to FreeType 
due to the requirement of hinting etc., I have been focusing on the rasteriser 
improvements, i.e., a dense data structure

for storing the accumulation buffer, that is better suited for SIMD.



Having briefly studied the renderers mentioned at FreeType’s GSOC page, I 
believe the best course of action would be to first properly integrate a 
font-rs based renderer in FreeType

and then working on optimizing the implementation by studying the code of 
font-go and fontdue.



I am currently studying the code of Fontdue and since it started as a fork of 
font-rs I hope integration will not be too tough.

Pathfinder seems to be very different from the other renderers, I need to study 
more about it, and will try to determine the best way to integrate it with 
FreeType.



I am also working on a way to properly benchmark the different implementations 
and would appreciate any pointers regarding it.



I would be grateful if the community could point me towards other 
font-rendering implementations that could be of interest to FreeType. Any 
research project or prototype that

can bring performance improvements is welcome.

Any other insights or guidance regarding this project would be greatly 
appreciated.



I have submitted my draft proposal to the GSOC website, and humbly request the 
mentors to take a look at it and provide feedback.


Regards

Anurag





Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-19 Thread Anurag Thakur
Hello Alexei,


> Do you actually
> plan to port the code to the modules or just link?

As mentioned in my proposal, the code will be ported to C, most likely as a new 
renderer module in the FreeType source.

> or if you are actually
> planning to do them all, not this summer but eventually. I would
> however ask that you put something in your proposal.

The plan is to investigate which renderers are to be ported, and then 
completely implement atleast 1 of them as a renderer module in FreeType during 
GSoC. More implementations can be done depending on tine, and even after GSoC.

Regards
Anurag


On 14-Apr-2022 7:35 AM, Alexei Podtelezhnikov  wrote:
On Tue, Apr 12, 2022 at 1:09 PM Anurag Thakur
 wrote:
>
> Having briefly studied the renderers mentioned at FreeType’s GSOC page, I 
> believe the best course of action would be to first properly integrate a 
> font-rs based renderer in FreeType
>
> and then working on optimizing the implementation by studying the code of 
> font-go and fontdue.

Hi Anurag,

To be honest, I do not know whether the alternative renderers should
be a part of FreeType, or a separate project, or a part of the
respective source projects. The module interface is pretty stable and
should not be a maintenance burden in either case. It also depends on
the performance and size of the modules, or if you are actually
planning to do them all, not this summer but eventually. I would
however ask that you put something in your proposal. Do you actually
plan to port the code to the modules or just link? The summer is
short. Even if you succeed with one of them to the point of release
quality, it is good.

Best,
Alexei




Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-13 Thread Alexei Podtelezhnikov
On Tue, Apr 12, 2022 at 1:09 PM Anurag Thakur
 wrote:
>
> Having briefly studied the renderers mentioned at FreeType’s GSOC page, I 
> believe the best course of action would be to first properly integrate a 
> font-rs based renderer in FreeType
>
> and then working on optimizing the implementation by studying the code of 
> font-go and fontdue.

Hi Anurag,

To be honest, I do not know whether the alternative renderers should
be a part of FreeType, or a separate project, or a part of the
respective source projects. The module interface is pretty stable and
should not be a maintenance burden in either case. It also depends on
the performance and size of the modules, or if you are actually
planning to do them all, not this summer but eventually. I would
however ask that you put something in your proposal. Do you actually
plan to port the code to the modules or just link? The summer is
short. Even if you succeed with one of them to the point of release
quality, it is good.

Best,
Alexei



Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-12 Thread Bermler
rustType might be a good place to look at as well

https://github.com/redox-os/rusttype

On Tue, Apr 12, 2022 at 12:20 PM, Anurag Thakur 
 wrote:

> Hello everyone!
>
> I am Anurag Thakur, a first-year undergraduate student pursuing Computer 
> Science.
>
> I am interested in contributing to the project “Integrate FreeType with 
> alternative rendering engines” as part of GSOC 2022 and have been learning 
> about it for some time.
>
> Reading through the mailing list discussions and building on the work of 
> other contributors, I have been successful in creating prototype renderer 
> module for FreeType that
>
> is based on the font-rs rasteriser. The renderer module is written in C and 
> is very barebones at the moment, since I wanted to discuss with the community 
> and wait for an official approval for
>
> my proposal before investing too much effort in any particular direction.
>
> Since the parsing improvements of font-rs don’t completely apply to FreeType 
> due to the requirement of hinting etc., I have been focusing on the 
> rasteriser improvements, i.e., a dense data structure
>
> for storing the accumulation buffer, that is better suited for SIMD.
>
> Having briefly studied the renderers mentioned at FreeType’s GSOC page, I 
> believe the best course of action would be to first properly integrate a 
> font-rs based renderer in FreeType
>
> and then working on optimizing the implementation by studying the code of 
> font-go and fontdue.
>
> I am currently studying the code of Fontdue and since it started as a fork of 
> font-rs I hope integration will not be too tough.
>
> Pathfinder seems to be very different from the other renderers, I need to 
> study more about it, and will try to determine the best way to integrate it 
> with FreeType.
>
> I am also working on a way to properly benchmark the different 
> implementations and would appreciate any pointers regarding it.
>
> I would be grateful if the community could point me towards other 
> font-rendering implementations that could be of interest to FreeType. Any 
> research project or prototype that
>
> can bring performance improvements is welcome.
>
> Any other insights or guidance regarding this project would be greatly 
> appreciated.
>
> I have submitted my draft proposal to the GSOC website, and humbly request 
> the mentors to take a look at it and provide feedback.
>
> Regards
>
> Anurag

Re: [GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-12 Thread Werner LEMBERG

Hello Anurag,


> I am interested in contributing to the project “Integrate FreeType
> with alternative rendering engines” as part of GSOC 2022 and have
> been learning about it for some time.

Great!

> Reading through the mailing list discussions and building on the
> work of other contributors, I have been successful in creating
> prototype renderer module for FreeType that is based on the font-rs
> rasteriser.  The renderer module is written in C and is very
> barebones at the moment, since I wanted to discuss with the
> community and wait for an official approval for my proposal before
> investing too much effort in any particular direction.

OK.

> Having briefly studied the renderers mentioned at FreeType’s GSOC
> page, I believe the best course of action would be to first properly
> integrate a font-rs based renderer in FreeType and then working on
> optimizing the implementation by studying the code of font-go and
> fontdue.

Such an analysis would be part of the project.

> I am currently studying the code of Fontdue and since it started as
> a fork of font-rs I hope integration will not be too tough.
> Pathfinder seems to be very different from the other renderers, I
> need to study more about it, and will try to determine the best way
> to integrate it with FreeType.

Again, all those details should be part of the project.

> I am also working on a way to properly benchmark the different
> implementations and would appreciate any pointers regarding it.

I think the comparison diagrams in Raph Levien's blog entry on font-rs
page are quite a good start.

> I have submitted my draft proposal to the GSOC website, and humbly
> request the mentors to take a look at it and provide feedback.

Will do so soon.


Werner


[GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-12 Thread Anurag Thakur
Hello everyone!

I am Anurag Thakur, a first-year undergraduate student pursuing Computer 
Science.
I am interested in contributing to the project "Integrate FreeType with 
alternative rendering engines" as part of GSOC 2022 and have been learning 
about it for some time.

Reading through the mailing list discussions and building on the work of other 
contributors, I have been successful in creating prototype renderer module for 
FreeType that
is based on the font-rs rasteriser. The renderer module is written in C and is 
very barebones at the moment, since I wanted to discuss with the community and 
wait for an official approval for
my proposal before investing too much effort in any particular direction.

Since the parsing improvements of font-rs don't completely apply to FreeType 
due to the requirement of hinting etc., I have been focusing on the rasteriser 
improvements, i.e., a dense data structure
for storing the accumulation buffer, that is better suited for SIMD.

Having briefly studied the renderers mentioned at FreeType's GSOC page, I 
believe the best course of action would be to first properly integrate a 
font-rs based renderer in FreeType
and then working on optimizing the implementation by studying the code of 
font-go and fontdue.

I am currently studying the code of Fontdue and since it started as a fork of 
font-rs I hope integration will not be too tough.
Pathfinder seems to be very different from the other renderers, I need to study 
more about it, and will try to determine the best way to integrate it with 
FreeType.

I am also working on a way to properly benchmark the different implementations 
and would appreciate any pointers regarding it.

I would be grateful if the community could point me towards other 
font-rendering implementations that could be of interest to FreeType. Any 
research project or prototype that
can bring performance improvements is welcome.
Any other insights or guidance regarding this project would be greatly 
appreciated.

I have submitted my draft proposal to the GSOC website, and humbly request the 
mentors to take a look at it and provide feedback.


Regards
Anurag




[GSOC 2022]: Integrate FreeType with alternative rendering engines

2022-04-12 Thread Anurag Thakur
Hello everyone!



I am Anurag Thakur, a first-year undergraduate student pursuing Computer 
Science.

I am interested in contributing to the project “Integrate FreeType with 
alternative rendering engines” as part of GSOC 2022 and have been learning 
about it for some time.



Reading through the mailing list discussions and building on the work of other 
contributors, I have been successful in creating prototype renderer module for 
FreeType that

is based on the font-rs rasteriser. The renderer module is written in C and is 
very barebones at the moment, since I wanted to discuss with the community and 
wait for an official approval for

my proposal before investing too much effort in any particular direction.



Since the parsing improvements of font-rs don’t completely apply to FreeType 
due to the requirement of hinting etc., I have been focusing on the rasteriser 
improvements, i.e., a dense data structure

for storing the accumulation buffer, that is better suited for SIMD.



Having briefly studied the renderers mentioned at FreeType’s GSOC page, I 
believe the best course of action would be to first properly integrate a 
font-rs based renderer in FreeType

and then working on optimizing the implementation by studying the code of 
font-go and fontdue.



I am currently studying the code of Fontdue and since it started as a fork of 
font-rs I hope integration will not be too tough.

Pathfinder seems to be very different from the other renderers, I need to study 
more about it, and will try to determine the best way to integrate it with 
FreeType.



I am also working on a way to properly benchmark the different implementations 
and would appreciate any pointers regarding it.



I would be grateful if the community could point me towards other 
font-rendering implementations that could be of interest to FreeType. Any 
research project or prototype that

can bring performance improvements is welcome.

Any other insights or guidance regarding this project would be greatly 
appreciated.



I have submitted my draft proposal to the GSOC website, and humbly request the 
mentors to take a look at it and provide feedback.


Regards

Anurag