9front - general discussion about 9front
 help / color / mirror / Atom feed
* Re: [9front] [ports] add libfreetype
@ 2020-03-28  5:28 kokamoto
  0 siblings, 0 replies; 6+ messages in thread
From: kokamoto @ 2020-03-28  5:28 UTC (permalink / raw)
  To: 9front

[-- Attachment #1: Type: text/plain, Size: 2769 bytes --]

I decided to show my Japanese nsfb image, too.
I know someone can read Japanese here.☺

Settings:
netsurf/mkfile
	-DNETSURF_FB_FONTPATH="/lib/font/ttf/ipaex:/lib/font/ttf/dejavu:/lib/font/ttf/msttcor
netsurf/frontends/framebuffer/font_freetype.c
in bool fb_font_init() function:
	/* Start with the sans serif font */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif),
			      "sans_serif.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF);
//			     "DejaVuSans.ttf");		/* K.Okamoto */
			      "ipagp.ttf");		/* K.Okamoto */
...
	/* Bold sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_bold),
                            "sans_serif_bold.ttf",
//                            NETSURF_FB_FONT_SANS_SERIF_BOLD);
//			  "DejaVuSans-Bold.ttf");		/* K.Okamoto */
			  "ipagp.ttf");		/* K.Okamoto */
...
	/* Italic sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_italic),
			      "sans_serif_italic.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF_ITALIC);
//	   		     "DejaVuSans-Oblique.ttf");		/* K.Okamoto */
			      "ipagp.ttf");		/* K.Okamoto */
...
	/* Bold italic sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_italic_bold), 
			      "sans_serif_italic_bold.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD);
//			     "DejaVuSans-BoldOblique.ttf");		/* K.Okamoto */
			      "ipagp.ttf");		/* K.Okamoto */
...
	/* serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_serif),
                            "serif.ttf",
//			      NETSURF_FB_FONT_SERIF);
//			  "DejaVuSerif.ttf");		/* K.Okamoto */
			      "ipamp.ttf");		/* K.Okamoto */
...
	/* bold serif face*/
	fb_face = fb_new_face(nsoption_charp(fb_face_serif_bold),
			      "serif_bold.ttf",
//			      NETSURF_FB_FONT_SERIF_BOLD);
//			      "DejaVuSerif-Bold.ttf");		/* K.Okamoto */
			      "ipamp.ttf");		/* K.Okamoto */
...
	/* monospace face */
	fb_face = fb_new_face(nsoption_charp(fb_face_monospace),
			      "monospace.ttf",
//			      NETSURF_FB_FONT_MONOSPACE);
//			      "DejaVuSansMono.ttf");		/* K.Okamoto */
			      "ipag.ttf");		/* K.Okamoto */
...
	/* bold monospace face*/
	fb_face = fb_new_face(nsoption_charp(fb_face_monospace_bold),
			      "monospace_bold.ttf",
//			      NETSURF_FB_FONT_MONOSPACE_BOLD);
//			      "DejaVuSansMono-Bold.ttf");		/* K.Okamoto */
			      "ipag.ttf");		/* K.Okamoto */
...
	/* cursive face */
	fb_face = fb_new_face(nsoption_charp(fb_face_cursive),
			      "cursive.ttf",
//			      NETSURF_FB_FONT_CURSIVE);
			      "Comic_Sans_MS.ttf");		/* K.Okamoto */
...
	/* fantasy face */
	fb_face = fb_new_face(nsoption_charp(fb_face_fantasy),
			      "fantasy.ttf",
//			      NETSURF_FB_FONT_FANTASY);
			     "Impact.ttf");		/* K.Okamoto */
====

Kenji

[-- Attachment #2: nsfbJP.bit --]
[-- Type: image/p9bit, Size: 640656 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] [ports] add libfreetype
  2020-03-25  5:55 Lucas Francesco
@ 2020-03-26 23:43 ` ori
  0 siblings, 0 replies; 6+ messages in thread
From: ori @ 2020-03-26 23:43 UTC (permalink / raw)
  To: lucas.francesco93, 9front

> libfreetype has been used in netsurf's nsfb as an alternative font
> rendering backend, turns out mainline mostly works ootb, you just need
> a mkfile to know which files you must build or not

The manifest was broken -- fixed and commmitted. Thanks.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] [ports] add libfreetype
@ 2020-03-26 23:17 kokamoto
  0 siblings, 0 replies; 6+ messages in thread
From: kokamoto @ 2020-03-26 23:17 UTC (permalink / raw)
  To: 9front

> ive been using this exactly same setup as you described for weeks!
> 
> nice to see we got on the same place from different perspectives!

Yeah, this is your work, not mine.

By the way, I moved the ttf font files to /lib/font/ttf for utilizing your
libfreetpe to open to more applications.

Then, my netsurf/mkfile setting changes to:
	-DNETSURF_FB_FONTPATH="/lib/font/ttf/dejavu:/lib/font/ttf/msttcorefonts:/lib/font/ttf/ipaex" \
from
	-DNETSURF_FB_FONTPATH="/sys/lib/netsurf/fonts/truetype/dejavu:/....

Kenji



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] [ports] add libfreetype
  2020-03-26  5:26 kokamoto
@ 2020-03-26 22:10 ` Lucas Francesco
  0 siblings, 0 replies; 6+ messages in thread
From: Lucas Francesco @ 2020-03-26 22:10 UTC (permalink / raw)
  To: 9front

[-- Attachment #1: Type: text/plain, Size: 5311 bytes --]

ive been using this exactly same setup as you described for weeks!

nice to see we got on the same place from different perspectives!



Em qui., 26 de mar. de 2020 às 03:07, <kokamoto@hera.eonet.ne.jp> escreveu:

> Thank you very much Lucas!
>
> Attached is a new netsurf webpage image using dejavu freetpe font.
> Most peoples here don't have interest to Japanese font, I show dejavu font
> example.
>
> Main changes are frontends/framebuffer/font_freetype.c and netsurf/mkfile,
> and of course
> put dejavu font files under /sys/lib/netsurf/fonts/truetype/dejavu.
>
> The font defines in mkfile didn't work, so I hard coded each font names in
> font_freetype.c.☺
>
> mkfile:
> OBJ=\
> ...
> #       frontends/framebuffer/font_internal.$O \
> #       frontends/framebuffer/font-ns-sans.$O \
>         frontends/framebuffer/font_freetype.$O \
> ...
> CFLAGS=\
> ...
>         -DNETSURF_FB_FONTPATH="/sys/lib/netsurf/fonts/truetype/dejavu" \
> ...
>         -DFB_USE_FREETYPE \
> #       -DNETSURF_FB_FONT_SANS_SERIF =const char *"DejaVuSans.ttf\" \
> #       -DNETSURF_FB_FONT_SANS_SERIF_BOLD =const char
> *"DejaVuSans-Bold.ttf" \
> #       -DNETSURF_FB_FONT_SANS_SERIF_ITALIC =const char
> *"DejaVuSans-Oblique.ttf\" \
> #       -DNETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD =const char
> *"DejaVuSans-BoldOblique.ttf" \
> #       -DNETSURF_FB_FONT_SERIF =const char *"DejaVuSerif.ttf" \
> #       -DNETSURF_FB_FONT_SERIF_BOLD =const char *"DejaVuSerif-Bold.ttf" \
> #       -DNETSURF_FB_FONT_MONOSPACE =const char *"DejaVuSansMono.ttf" \
> #       -DNETSURF_FB_FONT_MONOSPACE_BOLD =const char
> *"DejaVuSansMono-Bold.ttf" \
> #       -DNETSURF_FB_FONT_CURSIVE =const char *"Comic_Sans_MS.ttf" \
> #       -DNETSURF_FB_FONT_FANTASY =const char *"Impact.ttf"
>
> font_freetype.c:
> ...
> /* exported interface documented in framebuffer/font.h */
> bool fb_font_init(void)
> {
> ...
>         /* Start with the sans serif font */
>         fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif),
>                               "sans_serif.ttf",
> //                            NETSURF_FB_FONT_SANS_SERIF);
>                              "DejaVuSans.ttf");         /* K.Okamoto */
> ...
>         /* Bold sans serif face */
>         fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_bold),
>                             "sans_serif_bold.ttf",
> //                            NETSURF_FB_FONT_SANS_SERIF_BOLD);
>                           "DejaVuSans-Bold.ttf");               /*
> K.Okamoto */
> ...
>         /* Italic sans serif face */
>         fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_italic),
>                               "sans_serif_italic.ttf",
> //                            NETSURF_FB_FONT_SANS_SERIF_ITALIC);
>                              "DejaVuSans-Oblique.ttf");         /*
> K.Okamoto */
> ...
>         /* Bold italic sans serif face */
>         fb_face =
> fb_new_face(nsoption_charp(fb_face_sans_serif_italic_bold),
>                               "sans_serif_italic_bold.ttf",
> //                            NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD);
>                              "DejaVuSans-BoldOblique.ttf");             /*
> K.Okamoto */
> ...
>         /* serif face */
>         fb_face = fb_new_face(nsoption_charp(fb_face_serif),
>                             "serif.ttf",
> //                            NETSURF_FB_FONT_SERIF);
>                           "DejaVuSerif.ttf");           /* K.Okamoto */
> ...
>         /* bold serif face*/
>         fb_face = fb_new_face(nsoption_charp(fb_face_serif_bold),
>                               "serif_bold.ttf",
> //                            NETSURF_FB_FONT_SERIF_BOLD);
>                               "DejaVuSerif-Bold.ttf");          /*
> K.Okamoto */
> ...
>         /* monospace face */
>         fb_face = fb_new_face(nsoption_charp(fb_face_monospace),
>                               "monospace.ttf",
> //                            NETSURF_FB_FONT_MONOSPACE);
>                               "DejaVuSansMono.ttf");            /*
> K.Okamoto */
> ...
>         /* bold monospace face*/
>         fb_face = fb_new_face(nsoption_charp(fb_face_monospace_bold),
>                               "monospace_bold.ttf",
> //                            NETSURF_FB_FONT_MONOSPACE_BOLD);
>                               "DejaVuSansMono-Bold.ttf");               /*
> K.Okamoto */
> ...
>         /* cursive face */
>         fb_face = fb_new_face(nsoption_charp(fb_face_cursive),
>                               "cursive.ttf",
> //                            NETSURF_FB_FONT_CURSIVE);
>                               "Comic_Sans_MS.ttf");             /*
> K.Okamoto */
> ...
>         fb_face = fb_new_face(nsoption_charp(fb_face_fantasy),
>                               "fantasy.ttf",
> //                            NETSURF_FB_FONT_FANTASY);
>                              "Impact.ttf");             /* K.Okamoto */
> ...
>
> Kenji
>
> PS:
> please include two lines in ft2build.h like:
> #ifndef FT2BUILD_H_
> #define FT2BUILD_H_
>
> #pragma src     "/sys/ports/ape-libs/libfreetype"
> #pragma lib     "/$M/lib/ape/libfreetype.a"
>
> #include <freetype/config/ftheader.h>
>

[-- Attachment #2: Type: text/html, Size: 6776 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] [ports] add libfreetype
@ 2020-03-26  5:53 kokamoto
  0 siblings, 0 replies; 6+ messages in thread
From: kokamoto @ 2020-03-26  5:53 UTC (permalink / raw)
  To: 9front

As seen in the image, the color of Download image (dark blue) is
too much dark.  This is run on arm (rpi3B) machine, and
probably of the cause,

Kenji



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [9front] [ports] add libfreetype
@ 2020-03-26  5:26 kokamoto
  2020-03-26 22:10 ` Lucas Francesco
  0 siblings, 1 reply; 6+ messages in thread
From: kokamoto @ 2020-03-26  5:26 UTC (permalink / raw)
  To: 9front

[-- Attachment #1: Type: text/plain, Size: 3841 bytes --]

Thank you very much Lucas!

Attached is a new netsurf webpage image using dejavu freetpe font.
Most peoples here don't have interest to Japanese font, I show dejavu font example.

Main changes are frontends/framebuffer/font_freetype.c and netsurf/mkfile, and of course
put dejavu font files under /sys/lib/netsurf/fonts/truetype/dejavu.

The font defines in mkfile didn't work, so I hard coded each font names in
font_freetype.c.☺

mkfile:
OBJ=\
...
#	frontends/framebuffer/font_internal.$O \
#	frontends/framebuffer/font-ns-sans.$O \
	frontends/framebuffer/font_freetype.$O \
...
CFLAGS=\
...
	-DNETSURF_FB_FONTPATH="/sys/lib/netsurf/fonts/truetype/dejavu" \
...
	-DFB_USE_FREETYPE \
#	-DNETSURF_FB_FONT_SANS_SERIF =const char *"DejaVuSans.ttf\" \
#	-DNETSURF_FB_FONT_SANS_SERIF_BOLD =const char *"DejaVuSans-Bold.ttf" \
#	-DNETSURF_FB_FONT_SANS_SERIF_ITALIC =const char *"DejaVuSans-Oblique.ttf\" \
#	-DNETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD =const char *"DejaVuSans-BoldOblique.ttf" \
#	-DNETSURF_FB_FONT_SERIF =const char *"DejaVuSerif.ttf" \
#	-DNETSURF_FB_FONT_SERIF_BOLD =const char *"DejaVuSerif-Bold.ttf" \
#	-DNETSURF_FB_FONT_MONOSPACE =const char *"DejaVuSansMono.ttf" \
#	-DNETSURF_FB_FONT_MONOSPACE_BOLD =const char *"DejaVuSansMono-Bold.ttf" \
#	-DNETSURF_FB_FONT_CURSIVE =const char *"Comic_Sans_MS.ttf" \
#	-DNETSURF_FB_FONT_FANTASY =const char *"Impact.ttf"

font_freetype.c:
...
/* exported interface documented in framebuffer/font.h */
bool fb_font_init(void)
{
...
	/* Start with the sans serif font */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif),
			      "sans_serif.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF);
			     "DejaVuSans.ttf");		/* K.Okamoto */
...
	/* Bold sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_bold),
                            "sans_serif_bold.ttf",
//                            NETSURF_FB_FONT_SANS_SERIF_BOLD);
			  "DejaVuSans-Bold.ttf");		/* K.Okamoto */
...
	/* Italic sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_italic),
			      "sans_serif_italic.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF_ITALIC);
	   		     "DejaVuSans-Oblique.ttf");		/* K.Okamoto */
...
	/* Bold italic sans serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_sans_serif_italic_bold), 
			      "sans_serif_italic_bold.ttf",
//			      NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD);
			     "DejaVuSans-BoldOblique.ttf");		/* K.Okamoto */
...
	/* serif face */
	fb_face = fb_new_face(nsoption_charp(fb_face_serif),
                            "serif.ttf",
//			      NETSURF_FB_FONT_SERIF);
			  "DejaVuSerif.ttf");		/* K.Okamoto */
...
	/* bold serif face*/
	fb_face = fb_new_face(nsoption_charp(fb_face_serif_bold),
			      "serif_bold.ttf",
//			      NETSURF_FB_FONT_SERIF_BOLD);
			      "DejaVuSerif-Bold.ttf");		/* K.Okamoto */
...
	/* monospace face */
	fb_face = fb_new_face(nsoption_charp(fb_face_monospace),
			      "monospace.ttf",
//			      NETSURF_FB_FONT_MONOSPACE);
			      "DejaVuSansMono.ttf");		/* K.Okamoto */
...
	/* bold monospace face*/
	fb_face = fb_new_face(nsoption_charp(fb_face_monospace_bold),
			      "monospace_bold.ttf",
//			      NETSURF_FB_FONT_MONOSPACE_BOLD);
			      "DejaVuSansMono-Bold.ttf");		/* K.Okamoto */
...
	/* cursive face */
	fb_face = fb_new_face(nsoption_charp(fb_face_cursive),
			      "cursive.ttf",
//			      NETSURF_FB_FONT_CURSIVE);
			      "Comic_Sans_MS.ttf");		/* K.Okamoto */
...
	fb_face = fb_new_face(nsoption_charp(fb_face_fantasy),
			      "fantasy.ttf",
//			      NETSURF_FB_FONT_FANTASY);
			     "Impact.ttf");		/* K.Okamoto */
...

Kenji

PS: 
please include two lines in ft2build.h like:
#ifndef FT2BUILD_H_
#define FT2BUILD_H_

#pragma	src	"/sys/ports/ape-libs/libfreetype"
#pragma	lib	"/$M/lib/ape/libfreetype.a"

#include <freetype/config/ftheader.h>

[-- Attachment #2: netsurf.bit --]
[-- Type: image/p9bit, Size: 467464 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-03-28  5:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-28  5:28 [9front] [ports] add libfreetype kokamoto
  -- strict thread matches above, loose matches on Subject: below --
2020-03-26 23:17 kokamoto
2020-03-26  5:53 kokamoto
2020-03-26  5:26 kokamoto
2020-03-26 22:10 ` Lucas Francesco
2020-03-25  5:55 Lucas Francesco
2020-03-26 23:43 ` [9front] " ori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).