summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/gen-mplus-patch.sh203
1 files changed, 0 insertions, 203 deletions
diff --git a/scripts/gen-mplus-patch.sh b/scripts/gen-mplus-patch.sh
deleted file mode 100644
index af7634f..0000000
--- a/scripts/gen-mplus-patch.sh
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/bin/sh
-#
-# Generate a patch to add M+ fbcon fonts to Linux(-libre)
-#
-# Copyright (C) 2019 Patrick McDermott
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-set -eu
-
-VARIANTS='
- 1m regular 16 22
- 1m bold 16 22
- 1mn regular 16 22
- 1mn bold 16 22
- '
-LF='
-'
-
-backup_orig()
-{
- local f=
-
- for f in include/linux/font.h lib/fonts/Kconfig lib/fonts/Makefile \
- lib/fonts/fonts.c; do
- if ! [ -e "tmp/src/${f}.orig" ]; then
- mv "tmp/src/${f}" "tmp/src/${f}.orig"
- fi
- done
-}
-
-edit_font_h()
-{
- local state=
- local i=
- local line=
- local ft=
-
- exec 3>'tmp/src/include/linux/font.h'
- state='want_defs'
- i=0
- while IFS='' read -r line; do
- if [ x"${state}" = x'want_defs' ] || [ x"${state}" = x'defs' ]
- then
- case "${line}" in '#define '*'_IDX'*)
- state='defs'
- printf '%s\n' "${line}" 1>&3
- : $((i += 1))
- continue
- esac
- fi
- if [ x"${state}" = x'defs' ]; then # End of defines
- while read fc wt wd ht; do
- [ -z "${fc}" ] && continue
- ft="MPLUS_$(printf '%s_%s' "${fc}" "${wt}" | \
- tr '[a-z]' '[A-Z]')_${wd}x${ht}_IDX"
- printf '#define %s\t%d\n' "${ft}" ${i} 1>&3
- : $((i += 1))
- done <<-EOF
- ${VARIANTS}
- EOF
- state='want_decls'
- fi
- if [ x"${state}" = x'want_decls' ]; then
- case "${line}" in *'struct font_desc'*)
- state='decls'
- esac
- fi
- if [ x"${state}" = x'decls' ]; then
- case "${line}" in *';')
- printf '%s\n' "${line%;}" 1>&3
- while read fc wt wd ht; do
- [ -z "${fc}" ] && continue
- printf ',\t\t\tfont_mplus_%s_%s'"$(: \
- )"'_%dx%d' "${fc}" "${wt}" \
- "${wd}" "${ht}" 1>&3
- done <<-EOF
- ${VARIANTS}
- EOF
- printf ';\n' 1>&3
- state='end'
- continue
- esac
- printf '%s\n' "${line}" 1>&3
- fi
- printf '%s\n' "${line}" 1>&3
- done 0<'tmp/src/include/linux/font.h.orig'
-
- if ! [ x"${state}" = x'end' ]; then
- printf 'Error editing include/linux/font.h\n' 1>&2
- return 1
- fi
-
- return 0
-}
-
-edit_kconfig()
-{
-}
-
-edit_makefile()
-{
-}
-
-edit_fonts_c()
-{
-}
-
-
-gen_headers()
-{
- local mplus_dir="${1}"
- shift 1
- local mplus_ver=
-
- mplus_ver="$(tr '\0' '\n' <"${mplus_dir}/mplus-1m-regular.ttf" | \
- sed -n 's/^Version 1.//p')"
- cat <<-EOF
- Author: Patrick McDermott <patrick.mcdermott@libiquity.com>
- Subject: Add M+ fonts
-
- Generated from M+ version ${mplus_ver} by ${0}
- EOF
- return 0
-}
-
-gen_diff()
-{
- local headers="${1}"
- shift 1
- local files=
- local fc=
- local wt=
- local wd=
- local ht=
- local f=
- local diff=
- local a=
- local b=
-
- files="include/linux/font.h${LF}lib/fonts/Kconfig${LF}"
- files="${files}lib/fonts/Makefile${LF}"
- while read fc wt wd ht; do
- [ -z "${fc}" ] && continue
- f="lib/fonts/font_mplus_${fc}_${wt}_${wd}x${ht}.c"
- files="${files}${f}${LF}"
- done <<-EOF
- ${VARIANTS}
- EOF
- files="${files}lib/fonts/fonts.c${LF}"
-
- diff=''
- for f in ${files}; do
- a="tmp/src/${f}"
- b="tmp/src/${f}.orig"
- case "${f}" in lib/fonts/font_*.c) a='/dev/null';; esac
- diff="${diff}diff -Naurp a/${f} b/${f}${LF}"
- diff="${diff}--- a/${f}${LF}"
- diff="${diff}+++ a/${f}${LF}"
- diff="${diff}$(diff -up "${a}" "${b}" | tail -n +3)${LF}"
- done
- diff="${headers}${LF}---${LF}$(printf '%s' "${diff}" | \
- diffstat)${LF}${diff}"
-
- return 0
-}
-
-main()
-{
- local mplus_dir=
- local bdf2fbcon=
-
- if [ ${#} -ne 2 ]; then
- printf 'Usage: %s <mplus-dir> <bdf2fbcon>\n' "${0}" 1>&2
- return 1
- fi
- mplus_dir="${1}"
- bdf2fbcon="${2}"
- shift 2
-
- conv_fonts "${mplus_dir}" "${bdf2fbcon}"
- backup_orig
- edit_font_h
- edit_kconfig
- edit_makefile
- edit_fonts_c
- gen_diff "$(gen_headers "${mplus_dir}")"
-
- return 0
-}
-
-main "${@}"