git: 0656eb413cfa - main - japanese/font-bizin-gothic: New port: Font for programming composed of BizUD gothic and Inconsolata

From: MANTANI Nobutaka <nobutaka_at_FreeBSD.org>
Date: Sun, 18 Aug 2024 06:10:36 UTC
The branch main has been updated by nobutaka:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0656eb413cfad4041663622f60a23a143b5fa4a5

commit 0656eb413cfad4041663622f60a23a143b5fa4a5
Author:     MANTANI Nobutaka <nobutaka@FreeBSD.org>
AuthorDate: 2024-08-18 06:03:03 +0000
Commit:     MANTANI Nobutaka <nobutaka@FreeBSD.org>
CommitDate: 2024-08-18 06:05:56 +0000

    japanese/font-bizin-gothic: New port: Font for programming composed of BizUD gothic and Inconsolata
    
    Bizin Gothic is a font for programming composing the universal
    design font BizUD Gothic and the latin font Inconsolata.
    The goal is to combine the eye-friendly glyphs of BIZ UD Gothic
    and the quirky and beautiful glyphs of Inconsolata without any
    sense of discomfort.
    In addition, the specifications for various character
    adjustments to improve readability in this font were made with
    Ricty in mind.
    
    PR:     279913
    Reported by:    Hiroo Ono <hiroo.ono+freebsd@gmail.com>
---
 japanese/Makefile                                  |   1 +
 japanese/font-bizin-gothic/Makefile                |  38 ++++++++
 japanese/font-bizin-gothic/distinfo                |   3 +
 .../files/20-unhint-bizin-gothic.conf              |  17 ++++
 .../files/62-fonts-bizin-gothic.conf               |  11 +++
 japanese/font-bizin-gothic/files/pkg-install.in    | 101 +++++++++++++++++++++
 japanese/font-bizin-gothic/pkg-descr               |   8 ++
 japanese/font-bizin-gothic/pkg-plist               |   6 ++
 8 files changed, 185 insertions(+)

diff --git a/japanese/Makefile b/japanese/Makefile
index 55b40ffbbdd4..0da6a8c8f6f4 100644
--- a/japanese/Makefile
+++ b/japanese/Makefile
@@ -63,6 +63,7 @@
     SUBDIR += font-aozoramincho
     SUBDIR += font-ayu18
     SUBDIR += font-ayu20
+    SUBDIR += font-bizin-gothic
     SUBDIR += font-bizud-gothic
     SUBDIR += font-bizud-mincho
     SUBDIR += font-cica
diff --git a/japanese/font-bizin-gothic/Makefile b/japanese/font-bizin-gothic/Makefile
new file mode 100644
index 000000000000..c1848df8f1ab
--- /dev/null
+++ b/japanese/font-bizin-gothic/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	bizin-gothic
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.0.4
+CATEGORIES=	japanese x11-fonts
+MASTER_SITES=	https://github.com/yuru7/bizin-gothic/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
+PKGNAMEPREFIX=	ja-font-
+DISTNAME=	BizinGothic_${DISTVERSIONPREFIX}${DISTVERSION}
+
+MAINTAINER=	hiroo.ono+freebsd@gmail.com
+COMMENT=	Font for programming composed of BizUD gothic and Inconsolata
+WWW=		https://github.com/yuru7/bizin-gothic
+
+LICENSE=	OFL11
+
+USES=		fonts:fc zip
+
+FONT_PATHSPEC=	${FONTNAME}:pri=60
+NO_ARCH=	yes
+NO_BUILD=	yes
+PKGINSTALL=	${WRKDIR}/pkg-install
+PKGDEINSTALL=	${WRKDIR}/pkg-install
+SUB_FILES=	pkg-install
+
+do-install:
+	${MKDIR} ${STAGEDIR}${FONTSDIR}
+	${INSTALL_DATA} ${WRKSRC}/BizinGothic-Regular.ttf ${STAGEDIR}${FONTSDIR}
+	${INSTALL_DATA} ${WRKSRC}/BizinGothic-Bold.ttf ${STAGEDIR}${FONTSDIR}
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/fonts/conf.avail \
+		${STAGEDIR}${PREFIX}/etc/fonts/conf.d
+	${INSTALL_DATA} ${FILESDIR}/20-unhint-${FONTNAME}.conf \
+		${FILESDIR}/62-fonts-${FONTNAME}.conf \
+		${STAGEDIR}${PREFIX}/etc/fonts/conf.avail
+	${LN} -s -f ../conf.avail/20-unhint-${FONTNAME}.conf \
+		${STAGEDIR}${PREFIX}/etc/fonts/conf.d/20-unhint-${FONTNAME}.conf
+	${LN} -s -f ../conf.avail/62-fonts-${FONTNAME}.conf \
+		${STAGEDIR}${PREFIX}/etc/fonts/conf.d/62-fonts-${FONTNAME}.conf
+
+.include <bsd.port.mk>
diff --git a/japanese/font-bizin-gothic/distinfo b/japanese/font-bizin-gothic/distinfo
new file mode 100644
index 000000000000..261ef52660bc
--- /dev/null
+++ b/japanese/font-bizin-gothic/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1719067391
+SHA256 (BizinGothic_v0.0.4.zip) = e9d01c6ba56161c8a68e2998b71508110e2d70742512f6dafde1a569b0fbf877
+SIZE (BizinGothic_v0.0.4.zip) = 4816233
diff --git a/japanese/font-bizin-gothic/files/20-unhint-bizin-gothic.conf b/japanese/font-bizin-gothic/files/20-unhint-bizin-gothic.conf
new file mode 100644
index 000000000000..255966222c9b
--- /dev/null
+++ b/japanese/font-bizin-gothic/files/20-unhint-bizin-gothic.conf
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+	<match target="font">
+		<or>
+			<test name="family">
+				<string>BizinGothic-Regular</string>
+			</test>
+			<test name="family">
+				<string>BizinGothic-Bold</string>
+			</test>
+		</or>
+		<edit name="autohint">
+			<bool>false</bool>
+		</edit>
+	</match>
+</fontconfig>
diff --git a/japanese/font-bizin-gothic/files/62-fonts-bizin-gothic.conf b/japanese/font-bizin-gothic/files/62-fonts-bizin-gothic.conf
new file mode 100644
index 000000000000..16ea1561ed4e
--- /dev/null
+++ b/japanese/font-bizin-gothic/files/62-fonts-bizin-gothic.conf
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+	<alias>
+		<family>monospace</family>
+		<prefer>
+			<family>BizinGothic-Regular</family>
+			<family>BizinGothic-Bold</family>
+		</prefer>
+	</alias>
+</fontconfig>
diff --git a/japanese/font-bizin-gothic/files/pkg-install.in b/japanese/font-bizin-gothic/files/pkg-install.in
new file mode 100644
index 000000000000..98cb0619d5da
--- /dev/null
+++ b/japanese/font-bizin-gothic/files/pkg-install.in
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+catfontsdir()
+{
+	while read _IN
+	do
+		case "${_IN}" in
+		*-misc-bizingothic-* | [0-9]* | "")
+			;;
+		*)
+			echo ${_IN}
+			;;
+		esac
+	done
+}
+
+ROMA=""
+BOLD="ds=y"
+RITA="ai=0.08"
+ROBL="ai=0.08"
+
+make_xlfd()
+{
+	_enc=$1
+	_file=$2
+	_vendor=$3
+	_fname=$4
+	_poc=$5
+	_weight=$6
+
+	case "${_poc}:${_enc}" in
+	p:jisx0201.1976-*)	PFIX="bw=0.5" ;;
+	c:jisx0201.1976-*)	PFIX="bw=0.5" ;;
+	p:*)			PFIX="" ;;
+	c:*)			PFIX="" ;;
+	esac
+
+	set --	""	${_weight}-r \
+		${RITA}	${_weight}-ri \
+		${ROBL}	${_weight}-ro
+	while [ $# != 0 ]; do
+		_prefix="${PFIX}:$1"; shift
+		_variant=$1; shift
+		[ ${index_type} = "scale" -a ${_prefix} != ":" ] && continue
+		printf "%s:%s -%s-%s-%s-normal--0-0-0-0-%s-0-%s\n" \
+		       $_prefix $_file $_vendor "$_fname" $_variant $_poc $_enc
+	done | sed -e 's,::,:,g' -e 's,^:,,'
+}
+
+addentries()
+{
+	for ENC in iso8859-1 iso10646-1 jisx0201.1976-0 jisx0208.1983-0 jisx0208.1990-0 jisx0208.1997-0 jisx0213.2004-1
+	do
+		make_xlfd $ENC BizinGothic-Regular.ttf misc "bizingothic" m medium
+		make_xlfd $ENC BizinGothic-Bold.ttf misc "bizingothic" m bold
+	done
+}
+
+nfonts()
+{
+    _L=0; while read _IN; do _L=$((${_L}+1)); done; echo ${_L}
+}
+
+install_fontsdir()
+{
+	index_type=${1:-"dir"}
+	index="fonts.${index_type}"
+	tmpfile="${index}.tmp"
+	touch ${index}
+	(catfontsdir < ${index}; addentries ${index_type}) > ${tmpfile}
+	nfonts < ${tmpfile} > ${index}
+	cat ${tmpfile} >> ${index}
+	rm -f ${tmpfile}
+}
+
+deinstall_fontsdir()
+{
+	index_type=${1:-"dir"}
+	index="fonts.${index_type}"
+	tmpfile="${index}.tmp"
+	catfontsdir < ${index} > ${tmpfile}
+	nfonts < ${tmpfile} > ${index}
+	cat ${tmpfile} >> ${index}
+	rm -f ${tmpfile}
+	if [ -r ${index} -a $(wc -l < ${index}) = 1 ]; then
+		rm -f ${index}
+	fi
+}
+
+case "$2" in
+POST-INSTALL)
+	cd %%FONTSDIR%%
+	install_fontsdir dir
+	install_fontsdir scale
+	;;
+POST-DEINSTALL)
+	cd %%FONTSDIR%%
+	deinstall_fontsdir dir
+	deinstall_fontsdir scale
+	;;
+esac
diff --git a/japanese/font-bizin-gothic/pkg-descr b/japanese/font-bizin-gothic/pkg-descr
new file mode 100644
index 000000000000..97b193bea22a
--- /dev/null
+++ b/japanese/font-bizin-gothic/pkg-descr
@@ -0,0 +1,8 @@
+Bizin Gothic is a font for programming composing the universal
+design font BizUD Gothic and the latin font Inconsolata.
+The goal is to combine the eye-friendly glyphs of BIZ UD Gothic
+and the quirky and beautiful glyphs of Inconsolata without any
+sense of discomfort.
+In addition, the specifications for various character
+adjustments to improve readability in this font were made with
+Ricty in mind.
diff --git a/japanese/font-bizin-gothic/pkg-plist b/japanese/font-bizin-gothic/pkg-plist
new file mode 100644
index 000000000000..9c9ec9fb590a
--- /dev/null
+++ b/japanese/font-bizin-gothic/pkg-plist
@@ -0,0 +1,6 @@
+etc/fonts/conf.avail/20-unhint-bizin-gothic.conf
+etc/fonts/conf.avail/62-fonts-bizin-gothic.conf
+etc/fonts/conf.d/20-unhint-bizin-gothic.conf
+etc/fonts/conf.d/62-fonts-bizin-gothic.conf
+%%FONTSDIR%%/BizinGothic-Bold.ttf
+%%FONTSDIR%%/BizinGothic-Regular.ttf