Compare commits
11 Commits
main
...
2.14-branc
Author | SHA1 | Date |
---|---|---|
Akira TAGOH | 7861a71961 | |
Akira TAGOH | c0eaca02ef | |
Akira TAGOH | bd95bafba0 | |
Akira TAGOH | e3d9ad280a | |
Ondrej Balaz | 50c55e95f4 | |
Akira TAGOH | 7663a0db66 | |
lilinjie | 10b2905e05 | |
Akira TAGOH | 8f5e6dc91b | |
Jean Abou Samra | 6c2b709b32 | |
Akira TAGOH | e2e3c10de7 | |
Akira TAGOH | afe6e8101a |
969
.gitlab-ci.yml
969
.gitlab-ci.yml
|
@ -1,717 +1,286 @@
|
|||
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# THIS FILE IS GENERATED, DO NOT EDIT #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml
|
||||
# and run ci-fairy generate-template. For details, see
|
||||
# https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml
|
||||
|
||||
.templates_sha: &template_sha d11c0dd4c1c9a69c14b4af9b50cdd12b89d24672
|
||||
|
||||
include:
|
||||
# Fedora container builder template
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/fedora.yml'
|
||||
# Freebsd container builder template
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/freebsd.yml'
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/ci-fairy.yml'
|
||||
- local: '.gitlab-ci/other.yml'
|
||||
image: fedora:rawhide
|
||||
|
||||
stages:
|
||||
- sanity check
|
||||
- prep
|
||||
- test
|
||||
- deploy
|
||||
- container_clean
|
||||
- build
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: fontconfig/fontconfig
|
||||
GIT_DEPTH: 1
|
||||
before_script:
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular --nogpgcheck fedora-repos fedora-repos-rawhide
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken ninja-build wget python3-pip
|
||||
- pip install meson
|
||||
|
||||
# these tags should be updated each time the list of packages is updated
|
||||
# changing these will force rebuilding the associated image
|
||||
# Note: these tags have no meaning and are not tied to a particular
|
||||
# fontconfig version
|
||||
FEDORA_TAG: '2023-12-05.1-7c59f403cca5'
|
||||
FREEBSD_TAG: '2023-12-05.1-b3f6fd9ee634'
|
||||
|
||||
FEDORA_EXEC: 'bash .gitlab-ci/fedora-install.sh'
|
||||
FREEBSD_EXEC: 'bash .gitlab-ci/freebsd-install.sh'
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# sanity check #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
fail-if-fork-is-not-public:
|
||||
stage: sanity check
|
||||
script:
|
||||
- |
|
||||
if [ $CI_PROJECT_VISIBILITY != "public" ]; then
|
||||
echo "*************************************************************************************"
|
||||
echo "Project visibility must be set to 'public'."
|
||||
echo "Change this in $CI_PROJECT_URL/edit under 'Visibility, project features, permissions'"
|
||||
echo "*************************************************************************************"
|
||||
exit 1
|
||||
fi
|
||||
except:
|
||||
- main@fontconfig/fontconfig
|
||||
|
||||
check-ci-script:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: sanity check
|
||||
script:
|
||||
- ci-fairy generate-template --verify && exit 0 || true
|
||||
- >
|
||||
printf "%s\n" \
|
||||
"Committed gitlab-ci.yml differs from generated gitlab-ci.yml." \
|
||||
"To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml" \
|
||||
" and run ci-fairy generate-template. For details, see " \
|
||||
"https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml"
|
||||
- exit 1
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# containers stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# Build a container for each distribution + version. The ci-templates
|
||||
# will re-use the containers if the tag doesn't change.
|
||||
|
||||
fedora:rawhide@container-prep:
|
||||
extends: .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
fedora:39@container-prep:
|
||||
extends: .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '39'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
fedora:38@container-prep:
|
||||
extends: .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
freebsd:14.0@container-prep:
|
||||
extends: .fdo.qemu-build@freebsd
|
||||
tags:
|
||||
- kvm
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '14.0'
|
||||
FDO_DISTRIBUTION_PACKAGES: 'gcc autoconf automake libtool gettext gperf expat libxml2 freetype2 json-c git ninja wget python3 py39-pip pkgconf gmake'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FREEBSD_EXEC
|
||||
|
||||
freebsd:13.2@container-prep:
|
||||
extends: .fdo.qemu-build@freebsd
|
||||
tags:
|
||||
- kvm
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '13.2'
|
||||
FDO_DISTRIBUTION_PACKAGES: 'gcc autoconf automake libtool gettext gperf expat libxml2 freetype2 json-c git ninja wget python3 py39-pip pkgconf gmake'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FREEBSD_EXEC
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# container clean stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#
|
||||
# This stage will look for the container images e currently have in
|
||||
# the registry and will remove any that are not tagged with the provided
|
||||
# $container_image:$tag
|
||||
#
|
||||
# This job only runs for a scheduled pipeline.
|
||||
#
|
||||
# Go to your Profile, Settings, Access Tokens
|
||||
# Create a personal token with `api' scope, copy the value.
|
||||
# Go to CI/CD, Schedules, schedule a monthly job.
|
||||
# Define a variable of type File named AUTHFILE. Content is that token
|
||||
# value.
|
||||
.container-clean:
|
||||
stage: container_clean
|
||||
image: golang:alpine
|
||||
before_script:
|
||||
- apk add python3 py-pip git
|
||||
- pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
|
||||
script:
|
||||
- ci-fairy -v --authfile $AUTHFILE delete-image
|
||||
--repository $FDO_DISTRIBUTION_NAME/$FDO_DISTRIBUTION_VERSION
|
||||
--exclude-tag $FDO_DISTRIBUTION_TAG
|
||||
dependencies: []
|
||||
allow_failure: true
|
||||
only:
|
||||
- schedules
|
||||
|
||||
fedora:rawhide@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
fedora:39@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '39'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
fedora:38@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
freebsd:14.0@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/freebsd/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '14.0'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
|
||||
freebsd:13.2@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/freebsd/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '13.2'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# build stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
.check_tainted: &check_tainted |
|
||||
# make sure the kernel is not tainted
|
||||
if [[ "$(ssh localhost -p 5555 cat /proc/sys/kernel/tainted)" -gt 0 ]];
|
||||
then
|
||||
echo tainted kernel ;
|
||||
exit 1 ;
|
||||
fi
|
||||
|
||||
.build-in-qemu@template:
|
||||
tags:
|
||||
- kvm
|
||||
script:
|
||||
- /app/vmctl start || (echo "Error - Failed to start the VM." && exit 1)
|
||||
|
||||
- *check_tainted
|
||||
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- |
|
||||
buildopt=()
|
||||
for bo in $FC_BUILD_ENABLED; do
|
||||
buildopt+=(-e $bo)
|
||||
done
|
||||
for bo in $FC_BUILD_DISABLED; do
|
||||
buildopt+=(-d $bo)
|
||||
done
|
||||
[ -n "$FC_BUILD_ARCH" ] && buildopt+=(-a $FC_BUILD_ARCH)
|
||||
[ $FC_BUILD_DISTCHECK -eq 1 ] && buildopt+=(-c)
|
||||
[ $FC_BUILD_NO_INSTALL -eq 1 ] && buildopt+=(-I)
|
||||
[ $FC_BUILD_NO_CHECK -eq 1 ] && buildopt+=(-C)
|
||||
buildopt+=(-s $FC_BUILDSYS)
|
||||
buildopt+=(-t $FC_BUILD_TYPE)
|
||||
buildopt+=(-X $FC_XML_BACKEND)
|
||||
export buildopt
|
||||
- "scp -r $(pwd) vm:"
|
||||
- echo "CI_JOB_ID=\"$CI_JOB_ID\"" > fcenv
|
||||
- echo "CI_JOB_NAME=\"$CI_JOB_NAME\"" >> fcenv
|
||||
- echo "BUILD_ID=\"$BUILD_ID\"" >> fcenv
|
||||
- echo "MAKEFLAGS=\"$MAKEFLAGS\"" >> fcenv
|
||||
- echo "MAKE=\"$MAKE\"" >> fcenv
|
||||
- "scp fcenv vm:~/$CI_PROJECT_NAME/.gitlab-ci/fcenv"
|
||||
- /app/vmctl exec "cd $CI_PROJECT_NAME ; bash .gitlab-ci/build.sh ${buildopt[@]}" && touch .success || true
|
||||
- scp -r vm:$CI_PROJECT_NAME/build $BUILDDIR
|
||||
|
||||
- *check_tainted
|
||||
|
||||
- /app/vmctl stop
|
||||
- if [[ ! -e .success ]];
|
||||
then
|
||||
exit 1 ;
|
||||
fi
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_TYPE: both
|
||||
FC_BUILD_DISTCHECK: 0
|
||||
FC_BUILD_NO_INSTALL: 0
|
||||
FC_BUILD_NO_CHECK: 0
|
||||
|
||||
.build@template:
|
||||
shared-build:
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- |
|
||||
buildopt=()
|
||||
for bo in $FC_BUILD_ENABLED; do
|
||||
buildopt+=(-e $bo)
|
||||
done
|
||||
for bo in $FC_BUILD_DISABLED; do
|
||||
buildopt+=(-d $bo)
|
||||
done
|
||||
[ -n "$FC_BUILD_ARCH" ] && buildopt+=(-a $FC_BUILD_ARCH)
|
||||
[ $FC_BUILD_DISTCHECK -eq 1 ] && buildopt+=(-c)
|
||||
[ $FC_BUILD_NO_INSTALL -eq 1 ] && buildopt+=(-I)
|
||||
[ $FC_BUILD_NO_CHECK -eq 1 ] && buildopt+=(-C)
|
||||
buildopt+=(-s $FC_BUILDSYS)
|
||||
buildopt+=(-t $FC_BUILD_TYPE)
|
||||
buildopt+=(-X $FC_XML_BACKEND)
|
||||
sh .gitlab-ci/build.sh ${buildopt[@]}
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_TYPE: both
|
||||
FC_BUILD_DISTCHECK: 0
|
||||
FC_BUILD_NO_INSTALL: 0
|
||||
FC_BUILD_NO_CHECK: 0
|
||||
|
||||
.fc_artifacts:
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
- make install
|
||||
- make distcheck
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
expire_in: 5 days
|
||||
paths:
|
||||
- build*/fc-build.log
|
||||
- build*/fontconfig-*.tar.*
|
||||
- build*/test/*log
|
||||
- build*/fontconfig*/_build
|
||||
- build*/meson-logs/*
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# test stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
|
||||
t_fedora:rawhide:autotools shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:autotools shared libxml2:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_DISTCHECK: 1
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:meson shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:autotools static expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:autotools static libxml2:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: libxml2
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:meson static expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:mingw autotools static libxml2:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_PLATFORM: mingw
|
||||
FC_BUILD_ARCH: x86_64-mingw32
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:rawhide:mingw meson static expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_PLATFORM: mingw
|
||||
FC_BUILD_ARCH: linux-mingw-w64-64bit
|
||||
FC_BUILD_NO_INSTALL: 1
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:39:autotools shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '39'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:39@container-prep'
|
||||
|
||||
|
||||
t_fedora:39:autotools shared libxml2:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '39'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_DISTCHECK: 1
|
||||
needs:
|
||||
- 'fedora:39@container-prep'
|
||||
|
||||
|
||||
t_fedora:39:meson shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '39'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:39@container-prep'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
t_fedora:38:autotools shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:autotools shared libxml2:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_DISTCHECK: 1
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:meson shared expat:
|
||||
extends:
|
||||
- .build@template
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: fedora
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
t_freebsd:14.0:autotools shared expat:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '14.0'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:14.0@container-prep'
|
||||
|
||||
|
||||
t_freebsd:14.0:autotools shared libxml2:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '14.0'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:14.0@container-prep'
|
||||
|
||||
|
||||
t_freebsd:14.0:meson shared expat:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '14.0'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:14.0@container-prep'
|
||||
|
||||
|
||||
t_freebsd:13.2:autotools shared expat:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '13.2'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:13.2@container-prep'
|
||||
|
||||
|
||||
t_freebsd:13.2:autotools shared libxml2:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '13.2'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:13.2@container-prep'
|
||||
|
||||
|
||||
t_freebsd:13.2:meson shared expat:
|
||||
extends:
|
||||
- .build-in-qemu@template
|
||||
- .fdo.distribution-image@freebsd
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: freebsd
|
||||
FDO_DISTRIBUTION_VERSION: '13.2'
|
||||
FDO_DISTRIBUTION_TAG: $FREEBSD_TAG
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
needs:
|
||||
- 'freebsd:13.2@container-prep'
|
||||
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# deploy stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
check-merge-request:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: deploy
|
||||
- build-*/fontconfig-*.tar.*
|
||||
- build-*/fontconfig*/_build/sub/*.log
|
||||
- build-*/fontconfig*/_build/sub/test/*.log
|
||||
- build-*/fontconfig*/_build/sub/test/*.trs
|
||||
- build-*/fontconfig*/_build/sub/test/out*
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
- prefix-*
|
||||
static-build:
|
||||
stage: build
|
||||
script:
|
||||
- ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR"
|
||||
- cd "$BUILDDIR"
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
artifacts:
|
||||
when: on_failure
|
||||
reports:
|
||||
junit: results.xml
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
mingw-build:
|
||||
image: fedora:35
|
||||
stage: build
|
||||
before_script:
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf wget
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken mingw64-gettext mingw64-freetype mingw64-libxml2 wine
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR"
|
||||
- cd "$BUILDDIR"
|
||||
- eval `rpm --eval %{mingw64_env}`
|
||||
- ../autogen.sh --prefix="$PREFIX" --host=x86_64-mingw32 --disable-shared --enable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
meson-shared-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- meson --prefix="$PREFIX" --default-library=shared "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
- ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
meson-static-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- meson --prefix="$PREFIX" --default-library=static "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
- ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
meson-mingw-w64-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
# allow failure until https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/263 is resolved
|
||||
allow_failure: true
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- eval `rpm --eval %{mingw64_env}`
|
||||
- meson --prefix="$PREFIX" "$BUILDDIR" --cross-file .gitlab-ci/linux-mingw-w64-64bit.txt
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
# install doesn't work, fccache problems, but autotools ci doesn't do that either
|
||||
# - ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
|
||||
# FIXME: fontconfig should probably get its own image
|
||||
# In the meantime, the latest GStreamer image tag can be found here:
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/.gitlab-image-tags.yml#L10
|
||||
.build meson windows:
|
||||
image: 'registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-09-23.0-main'
|
||||
stage: 'build'
|
||||
tags:
|
||||
- 'docker'
|
||||
- 'windows'
|
||||
- '2022'
|
||||
variables:
|
||||
# Make sure any failure in PowerShell scripts is fatal
|
||||
ErrorActionPreference: 'Stop'
|
||||
WarningPreference: 'Stop'
|
||||
# Uncomment the following key if need to pass custom args, as well with the
|
||||
# $env:MESON_ARGS line in the `script:` blocks
|
||||
# MESON_ARGS: >-
|
||||
# -Dfoo=enabled
|
||||
# -Dbar=disabled
|
||||
before_script:
|
||||
# Make sure meson is up to date, so we don't need to rebuild the image with each release
|
||||
- pip3 install -U meson certifi
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, so we
|
||||
# have to replace them first.
|
||||
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||
# Gitlab executes PowerShell in docker, but VsDevCmd.bat is a batch script.
|
||||
# Environment variables substitutions is done by PowerShell before calling
|
||||
# cmd.exe, that's why we use $env:FOO instead of %FOO%
|
||||
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
|
||||
SET CERT_PATH=$(python -m certifi) &&
|
||||
SET SSL_CERT_FILE=$(python -m certifi) &&
|
||||
SET REQUESTS_CA_BUNDLE=$(python -m certifi) &&
|
||||
meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
|
||||
meson vs2019 amd64:
|
||||
extends: '.build meson windows'
|
||||
variables:
|
||||
ARCH: 'amd64'
|
||||
|
||||
meson vs2019 x86:
|
||||
extends: '.build meson windows'
|
||||
variables:
|
||||
ARCH: 'x86'
|
||||
|
||||
meson macos:
|
||||
stage: 'build'
|
||||
tags:
|
||||
- gst-macos-11.1
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
|
||||
expire_in: '5 days'
|
||||
when: 'always'
|
||||
paths:
|
||||
- "build/meson-logs/*txt"
|
||||
before_script:
|
||||
- pip3 install --upgrade pip
|
||||
# Make sure meson is up to date
|
||||
- pip3 install -U meson
|
||||
# Need to install certificates for python
|
||||
- pip3 install --upgrade certifi
|
||||
# Anther way t install certificates
|
||||
- open /Applications/Python\ 3.8/Install\ Certificates.command
|
||||
# Get ninja
|
||||
- curl -L -o ninja-mac.zip https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-mac.zip
|
||||
- unzip ninja-mac.zip
|
||||
- sudo cp ninja /usr/local/bin
|
||||
script:
|
||||
- CERT_PATH=$(python3 -m certifi) && export SSL_CERT_FILE=${CERT_PATH} && export REQUESTS_CA_BUNDLE=${CERT_PATH} && meson build
|
||||
- ninja -C build
|
||||
- ninja -C build test
|
||||
|
||||
# msys infrastructure is a bit broken, disable for now
|
||||
meson msys2:
|
||||
extends: '.build meson windows'
|
||||
when: 'manual'
|
||||
allow_failure: true
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, so we
|
||||
# have to replace them first.
|
||||
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||
|
||||
- $env:PATH += ";C:\msys64\usr\bin;C:\msys64\mingw64/bin;C:\msys64\mingw32/bin"
|
||||
# XXX: Copied from https://gitlab.freedesktop.org/gstreamer/gst-ci/blob/master/gitlab/ci_template.yml#L487
|
||||
# For some reason docker build hangs if this is included in the image, needs more troubleshooting
|
||||
- C:\msys64\usr\bin\bash -c "pacman-key --init && pacman-key --populate msys2 && pacman-key --refresh-keys || true"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Syuu --noconfirm"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Sy --noconfirm --needed mingw-w64-x86_64-toolchain ninja"
|
||||
- C:\msys64\usr\bin\bash -c "meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
|
||||
meson android arm64 fedora:
|
||||
# See https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/164 for current images
|
||||
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/android-fedora:2020-10-22.0-master'
|
||||
stage: 'build'
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
|
||||
expire_in: '5 days'
|
||||
when: 'always'
|
||||
paths:
|
||||
- "build/meson-logs/*.txt"
|
||||
before_script:
|
||||
- dnf install -y python3-pip gcc ninja-build gperf
|
||||
- pip3 install --user meson
|
||||
script:
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- |
|
||||
cat > android-cross-file.txt <<EOF
|
||||
[constants]
|
||||
ndk_path = '/android/ndk'
|
||||
toolchain = ndk_path + '/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android'
|
||||
api = '28'
|
||||
|
||||
[host_machine]
|
||||
system = 'android'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
|
||||
[properties]
|
||||
sys_root = ndk_path + '/sysroot'
|
||||
c_args = ['-Wno-pointer-bool-conversion']
|
||||
c_link_args = ['-fuse-ld=gold']
|
||||
cpp_link_args = ['-fuse-ld=gold']
|
||||
|
||||
[binaries]
|
||||
c = toolchain + api + '-clang'
|
||||
cpp = toolchain + api + '-clang++'
|
||||
ar = toolchain + '-ar'
|
||||
strip = toolchain + '-strip'
|
||||
EOF
|
||||
- meson setup --werror --cross-file android-cross-file.txt build
|
||||
- meson compile --verbose -C build
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/*~
|
|
@ -1,144 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -ex
|
||||
set -o pipefail
|
||||
|
||||
cidir=$(dirname $0)
|
||||
[ -f ${cidir}/fcenv ] && . ${cidir}/fcenv
|
||||
|
||||
case "$OSTYPE" in
|
||||
msys) MyPWD=$(pwd -W) ;;
|
||||
*BSD) PATH=$PATH:/usr/local/bin ;&
|
||||
*) MyPWD=$(pwd) ;;
|
||||
esac
|
||||
enable=()
|
||||
disable=()
|
||||
distcheck=0
|
||||
enable_install=1
|
||||
disable_check=0
|
||||
cross=0
|
||||
buildsys="autotools"
|
||||
type="both"
|
||||
arch=""
|
||||
buildopt=()
|
||||
SRCDIR=$MyPWD
|
||||
export MAKE=${MAKE:-make}
|
||||
export BUILD_ID=${BUILD_ID:-fontconfig-$$}
|
||||
export PREFIX=${PREFIX:-$MyPWD/prefix}
|
||||
export BUILDDIR=${BUILDDIR:-$MyPWD/build}
|
||||
|
||||
while getopts a:cCe:d:hIs:t:X: OPT
|
||||
do
|
||||
case $OPT in
|
||||
'a') arch=$OPTARG ;;
|
||||
'c') distcheck=1 ;;
|
||||
'C') disable_check=1 ;;
|
||||
'e') enable+=($OPTARG) ;;
|
||||
'd') disable+=($OPTARG) ;;
|
||||
'I') enable_install=0 ;;
|
||||
's') buildsys=$OPTARG ;;
|
||||
't') type=$OPTARG ;;
|
||||
'X') backend=$OPTARG ;;
|
||||
'h')
|
||||
echo "Usage: $0 [-a ARCH] [-c] [-e OPT] [-d OPT] [-I] [-s BUILDSYS] [-t BUILDTYPE] [-X XMLBACKEND]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
case x"$FC_BUILD_PLATFORM" in
|
||||
'xmingw') cross=1 ;;
|
||||
*) cross=0 ;;
|
||||
esac
|
||||
|
||||
env
|
||||
r=0
|
||||
|
||||
if [ x"$buildsys" == "xautotools" ]; then
|
||||
for i in "${enable[@]}"; do
|
||||
buildopt+=(--enable-$i)
|
||||
done
|
||||
for i in "${disable[@]}"; do
|
||||
buildopt+=(--disable-$i)
|
||||
done
|
||||
case x"$backend" in
|
||||
'xexpat')
|
||||
buildopt+=(--disable-libxml2)
|
||||
;;
|
||||
'xlibxml2')
|
||||
buildopt+=(--enable-libxml2)
|
||||
;;
|
||||
esac
|
||||
case x"$type" in
|
||||
'xshared')
|
||||
buildopt+=(--enable-shared)
|
||||
buildopt+=(--disable-static)
|
||||
;;
|
||||
'xstatic')
|
||||
buildopt+=(--disable-shared)
|
||||
buildopt+=(--enable-static)
|
||||
;;
|
||||
'both')
|
||||
buildopt+=(--enable-shared)
|
||||
buildopt+=(--enable-static)
|
||||
;;
|
||||
esac
|
||||
if [ $cross -eq 1 -a -z "$arch" ]; then
|
||||
buildopt+=(--host=$arch)
|
||||
if [ -f .gitlab-ci/${FC_DISTRO_NAME}-cross.sh ]; then
|
||||
echo "No ${FC_DISTRO_NAME}-cross.sh available"
|
||||
exit 1
|
||||
fi
|
||||
. .gitlab-ci/${FC_DISTRO_NAME}-cross.sh
|
||||
fi
|
||||
rm -rf "$BUILDDIR" "$PREFIX" || :
|
||||
mkdir "$BUILDDIR" "$PREFIX"
|
||||
cd "$BUILDDIR"
|
||||
../autogen.sh --prefix="$PREFIX" ${buildopt[*]} 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
$MAKE V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
if [ $disable_check -eq 0 ]; then
|
||||
$MAKE check V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
if [ $enable_install -eq 1 ]; then
|
||||
$MAKE install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
if [ $distcheck -eq 1 ]; then
|
||||
$MAKE distcheck V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
elif [ x"$buildsys" == "xmeson" ]; then
|
||||
pip install meson
|
||||
for i in "${enable[@]}"; do
|
||||
buildopt+=(-D$i=true)
|
||||
done
|
||||
for i in "${disable[@]}"; do
|
||||
buildopt+=(-D$i=false)
|
||||
done
|
||||
case x"$backend" in
|
||||
'xexpat')
|
||||
;;
|
||||
'xlibxml2')
|
||||
;;
|
||||
esac
|
||||
if [ $cross -eq 1 -a -z "$arch" ]; then
|
||||
buildopt+=(--cross-file)
|
||||
buildopt+=(.gitlab-ci/$arch.txt)
|
||||
if [ -f .gitlab-ci/cross-$FC_DISTRO_NAME.sh ]; then
|
||||
echo "No cross-$FC_DISTRO_NAME.sh available"
|
||||
exit 1
|
||||
fi
|
||||
. .gitlab-ci/cross-$FC_DISTRO_NAME.sh
|
||||
fi
|
||||
buildopt+=(--default-library=$type)
|
||||
meson setup --prefix="$PREFIX" ${buildopt[*]} "$BUILDDIR" 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
meson compile -v -C "$BUILDDIR" 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
if [ $disable_check -eq 0 ]; then
|
||||
meson test -v -C "$BUILDDIR" 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
if [ $enable_install -eq 1 ]; then
|
||||
meson install -C "$BUILDDIR" 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
if [ $distcheck -eq 1 ]; then
|
||||
meson dist -C "$BUILDDIR" 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
fi
|
||||
fi
|
||||
mv /tmp/fc-build.log . || :
|
||||
exit $r
|
|
@ -1,331 +0,0 @@
|
|||
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
|
||||
|
||||
{# You're looking at the template here, so you can ignore the below
|
||||
warning. This is the right file to edit #}
|
||||
#######################################
|
||||
# #
|
||||
# THIS FILE IS GENERATED, DO NOT EDIT #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml
|
||||
# and run ci-fairy generate-template. For details, see
|
||||
# https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml
|
||||
|
||||
.templates_sha: &template_sha d11c0dd4c1c9a69c14b4af9b50cdd12b89d24672
|
||||
|
||||
include:
|
||||
{% for distro in distributions|sort(attribute="name") %}
|
||||
# {{ distro.name.capitalize() }} container builder template
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/{{distro.name}}.yml'
|
||||
{% endfor %}
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/ci-fairy.yml'
|
||||
- local: '.gitlab-ci/other.yml'
|
||||
|
||||
stages:
|
||||
- sanity check
|
||||
- prep
|
||||
- test
|
||||
- deploy
|
||||
- container_clean
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: fontconfig/fontconfig
|
||||
GIT_DEPTH: 1
|
||||
|
||||
# these tags should be updated each time the list of packages is updated
|
||||
# changing these will force rebuilding the associated image
|
||||
# Note: these tags have no meaning and are not tied to a particular
|
||||
# fontconfig version
|
||||
{% for distro in distributions %}
|
||||
{{"%-15s"| format(distro.name.upper() + '_TAG:')}}'{{distro.tag}}-{{
|
||||
(ci_fairy.hashfiles('.gitlab-ci/config.yml',
|
||||
'.gitlab-ci/' + distro.name + '-install.sh'))[0:12]
|
||||
}}'
|
||||
{% endfor %}
|
||||
|
||||
{% for distro in distributions %}
|
||||
{{"%-15s"| format(distro.name.upper() + '_EXEC:')}}'bash .gitlab-ci/{{distro.name}}-install.sh'
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# sanity check #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
fail-if-fork-is-not-public:
|
||||
stage: sanity check
|
||||
script:
|
||||
- |
|
||||
if [ $CI_PROJECT_VISIBILITY != "public" ]; then
|
||||
echo "*************************************************************************************"
|
||||
echo "Project visibility must be set to 'public'."
|
||||
echo "Change this in $CI_PROJECT_URL/edit under 'Visibility, project features, permissions'"
|
||||
echo "*************************************************************************************"
|
||||
exit 1
|
||||
fi
|
||||
except:
|
||||
- main@fontconfig/fontconfig
|
||||
|
||||
check-ci-script:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: sanity check
|
||||
script:
|
||||
- ci-fairy generate-template --verify && exit 0 || true
|
||||
- >
|
||||
printf "%s\n" \
|
||||
"Committed gitlab-ci.yml differs from generated gitlab-ci.yml." \
|
||||
"To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml" \
|
||||
" and run ci-fairy generate-template. For details, see " \
|
||||
"https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml"
|
||||
- exit 1
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# containers stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# Build a container for each distribution + version. The ci-templates
|
||||
# will re-use the containers if the tag doesn't change.
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
|
||||
{{distro.name}}:{{version}}@container-prep:
|
||||
{% if distro.qemu_based %}
|
||||
extends: .fdo.qemu-build@{{distro.name}}
|
||||
{% else %}
|
||||
extends: .fdo.container-build@{{distro.name}}
|
||||
{% endif %}
|
||||
{% if distro.qemu_based %}
|
||||
tags:
|
||||
- kvm
|
||||
{% endif %}
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_PACKAGES: '{{' '.join(packages[distro.name].needed)}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
FDO_DISTRIBUTION_EXEC: ${{distro.name.upper()}}_EXEC
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# container clean stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#
|
||||
# This stage will look for the container images e currently have in
|
||||
# the registry and will remove any that are not tagged with the provided
|
||||
# $container_image:$tag
|
||||
#
|
||||
# This job only runs for a scheduled pipeline.
|
||||
#
|
||||
# Go to your Profile, Settings, Access Tokens
|
||||
# Create a personal token with `api' scope, copy the value.
|
||||
# Go to CI/CD, Schedules, schedule a monthly job.
|
||||
# Define a variable of type File named AUTHFILE. Content is that token
|
||||
# value.
|
||||
.container-clean:
|
||||
stage: container_clean
|
||||
image: golang:alpine
|
||||
before_script:
|
||||
- apk add python3 py-pip git
|
||||
- pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
|
||||
script:
|
||||
- ci-fairy -v --authfile $AUTHFILE delete-image
|
||||
--repository $FDO_DISTRIBUTION_NAME/$FDO_DISTRIBUTION_VERSION
|
||||
--exclude-tag $FDO_DISTRIBUTION_TAG
|
||||
dependencies: []
|
||||
allow_failure: true
|
||||
only:
|
||||
- schedules
|
||||
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
{{distro.name}}:{{version}}@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/{{distro.name}}/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# build stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
.check_tainted: &check_tainted |
|
||||
# make sure the kernel is not tainted
|
||||
if [[ "$(ssh localhost -p 5555 cat /proc/sys/kernel/tainted)" -gt 0 ]];
|
||||
then
|
||||
echo tainted kernel ;
|
||||
exit 1 ;
|
||||
fi
|
||||
|
||||
.build-in-qemu@template:
|
||||
tags:
|
||||
- kvm
|
||||
script:
|
||||
- /app/vmctl start || (echo "Error - Failed to start the VM." && exit 1)
|
||||
|
||||
- *check_tainted
|
||||
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- |
|
||||
buildopt=()
|
||||
for bo in $FC_BUILD_ENABLED; do
|
||||
buildopt+=(-e $bo)
|
||||
done
|
||||
for bo in $FC_BUILD_DISABLED; do
|
||||
buildopt+=(-d $bo)
|
||||
done
|
||||
[ -n "$FC_BUILD_ARCH" ] && buildopt+=(-a $FC_BUILD_ARCH)
|
||||
[ $FC_BUILD_DISTCHECK -eq 1 ] && buildopt+=(-c)
|
||||
[ $FC_BUILD_NO_INSTALL -eq 1 ] && buildopt+=(-I)
|
||||
[ $FC_BUILD_NO_CHECK -eq 1 ] && buildopt+=(-C)
|
||||
buildopt+=(-s $FC_BUILDSYS)
|
||||
buildopt+=(-t $FC_BUILD_TYPE)
|
||||
buildopt+=(-X $FC_XML_BACKEND)
|
||||
export buildopt
|
||||
- "scp -r $(pwd) vm:"
|
||||
- echo "CI_JOB_ID=\"$CI_JOB_ID\"" > fcenv
|
||||
- echo "CI_JOB_NAME=\"$CI_JOB_NAME\"" >> fcenv
|
||||
- echo "BUILD_ID=\"$BUILD_ID\"" >> fcenv
|
||||
- echo "MAKEFLAGS=\"$MAKEFLAGS\"" >> fcenv
|
||||
- echo "MAKE=\"$MAKE\"" >> fcenv
|
||||
- "scp fcenv vm:~/$CI_PROJECT_NAME/.gitlab-ci/fcenv"
|
||||
- /app/vmctl exec "cd $CI_PROJECT_NAME ; bash .gitlab-ci/build.sh ${buildopt[@]}" && touch .success || true
|
||||
- scp -r vm:$CI_PROJECT_NAME/build $BUILDDIR
|
||||
|
||||
- *check_tainted
|
||||
|
||||
- /app/vmctl stop
|
||||
- if [[ ! -e .success ]];
|
||||
then
|
||||
exit 1 ;
|
||||
fi
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_TYPE: both
|
||||
FC_BUILD_DISTCHECK: 0
|
||||
FC_BUILD_NO_INSTALL: 0
|
||||
FC_BUILD_NO_CHECK: 0
|
||||
|
||||
.build@template:
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- |
|
||||
buildopt=()
|
||||
for bo in $FC_BUILD_ENABLED; do
|
||||
buildopt+=(-e $bo)
|
||||
done
|
||||
for bo in $FC_BUILD_DISABLED; do
|
||||
buildopt+=(-d $bo)
|
||||
done
|
||||
[ -n "$FC_BUILD_ARCH" ] && buildopt+=(-a $FC_BUILD_ARCH)
|
||||
[ $FC_BUILD_DISTCHECK -eq 1 ] && buildopt+=(-c)
|
||||
[ $FC_BUILD_NO_INSTALL -eq 1 ] && buildopt+=(-I)
|
||||
[ $FC_BUILD_NO_CHECK -eq 1 ] && buildopt+=(-C)
|
||||
buildopt+=(-s $FC_BUILDSYS)
|
||||
buildopt+=(-t $FC_BUILD_TYPE)
|
||||
buildopt+=(-X $FC_XML_BACKEND)
|
||||
sh .gitlab-ci/build.sh ${buildopt[@]}
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_TYPE: both
|
||||
FC_BUILD_DISTCHECK: 0
|
||||
FC_BUILD_NO_INSTALL: 0
|
||||
FC_BUILD_NO_CHECK: 0
|
||||
|
||||
.fc_artifacts:
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
expire_in: 5 days
|
||||
paths:
|
||||
- build*/fc-build.log
|
||||
- build*/fontconfig-*.tar.*
|
||||
- build*/test/*log
|
||||
- build*/fontconfig*/_build
|
||||
- build*/meson-logs/*
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# test stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
{% for build in distro.builds %}
|
||||
|
||||
{% if not 'build_only' in build or build.build_only == version %}
|
||||
t_{{distro.name}}:{{version}}:{{build.name}}:
|
||||
extends:
|
||||
{% if distro.qemu_based %}
|
||||
- .build-in-qemu@template
|
||||
{% else %}
|
||||
- .build@template
|
||||
{% endif %}
|
||||
- .fdo.distribution-image@{{distro.name}}
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FC_DISTRO_NAME: {{distro.name}}
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
{# Where we have extra_variables defined, add them to the list #}
|
||||
{% if build.variables is defined %}
|
||||
{% for key, value in build.variables.items() %}
|
||||
{{key}}: {{value}}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
needs:
|
||||
- '{{distro.name}}:{{version}}@container-prep'
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# deploy stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
check-merge-request:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: deploy
|
||||
script:
|
||||
- ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
|
||||
artifacts:
|
||||
when: on_failure
|
||||
reports:
|
||||
junit: results.xml
|
||||
allow_failure: true
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
.default_tag: &default_tag "2023-12-05.1"
|
||||
|
||||
distributions:
|
||||
- name: fedora
|
||||
tag: *default_tag
|
||||
base_type: fedora
|
||||
qemu_based: false
|
||||
versions:
|
||||
- "rawhide"
|
||||
- "39"
|
||||
- "38"
|
||||
builds:
|
||||
- name: "autotools shared expat"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
- name: "autotools shared libxml2"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_DISTCHECK: 1
|
||||
- name: "meson shared expat"
|
||||
variables:
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
- name: "autotools static expat"
|
||||
build_only: "rawhide"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
- name: "autotools static libxml2"
|
||||
build_only: "rawhide"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: libxml2
|
||||
- name: "meson static expat"
|
||||
build_only: "rawhide"
|
||||
variables:
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
- name: "mingw autotools static libxml2"
|
||||
build_only: "rawhide"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: libxml2
|
||||
FC_BUILD_PLATFORM: mingw
|
||||
FC_BUILD_ARCH: x86_64-mingw32
|
||||
- name: "mingw meson static expat"
|
||||
build_only: "rawhide"
|
||||
variables:
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: static
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_PLATFORM: mingw
|
||||
FC_BUILD_ARCH: linux-mingw-w64-64bit
|
||||
FC_BUILD_NO_INSTALL: 1
|
||||
- name: freebsd
|
||||
tag: *default_tag
|
||||
base_type: freebsd
|
||||
qemu_based: true
|
||||
versions:
|
||||
- "14.0"
|
||||
- "13.2"
|
||||
builds:
|
||||
- name: "autotools shared expat"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1 # FIXME: There is GNU-specific parameter issue in touch command.
|
||||
- name: "autotools shared libxml2"
|
||||
variables:
|
||||
FC_BUILDSYS: autotools
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: libxml2
|
||||
MAKE: gmake
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
- name: "meson shared expat"
|
||||
variables:
|
||||
FC_BUILDSYS: meson
|
||||
FC_BUILD_TYPE: shared
|
||||
FC_XML_BACKEND: expat
|
||||
FC_BUILD_NO_CHECK: 1
|
||||
|
||||
packages:
|
||||
fedora:
|
||||
needed:
|
||||
[
|
||||
"@buildsys-build",
|
||||
"autoconf",
|
||||
"automake",
|
||||
"libtool",
|
||||
"gettext",
|
||||
"gettext-devel",
|
||||
"gperf",
|
||||
"expat-devel",
|
||||
"libxml2-devel",
|
||||
"freetype-devel",
|
||||
"json-c-devel",
|
||||
"git",
|
||||
"docbook-utils",
|
||||
"docbook-utils-pdf",
|
||||
"bubblewrap",
|
||||
"ninja-build",
|
||||
"wget",
|
||||
"python3-pip",
|
||||
"mingw64-gettext",
|
||||
"mingw64-freetype",
|
||||
"mingw64-libxml2",
|
||||
"wine",
|
||||
]
|
||||
freebsd:
|
||||
needed:
|
||||
[
|
||||
"gcc",
|
||||
"autoconf",
|
||||
"automake",
|
||||
"libtool",
|
||||
"gettext",
|
||||
"gperf",
|
||||
"expat",
|
||||
"libxml2",
|
||||
"freetype2",
|
||||
"json-c",
|
||||
"git",
|
||||
"ninja",
|
||||
"wget",
|
||||
"python3",
|
||||
"py39-pip",
|
||||
"pkgconf",
|
||||
"gmake",
|
||||
]
|
|
@ -1,3 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
eval `rpm --eval %{mingw64_env}`
|
|
@ -1,3 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -ex
|
|
@ -1,4 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
echo "** Cross build not supported."
|
||||
exit 1
|
|
@ -1,3 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -ex
|
|
@ -1,142 +0,0 @@
|
|||
# FIXME: fontconfig should probably get its own image
|
||||
# In the meantime, the latest GStreamer image tag can be found here:
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/.gitlab-image-tags.yml#L10
|
||||
.build meson windows:
|
||||
image: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-09-23.0-main"
|
||||
stage: "test"
|
||||
tags:
|
||||
- "docker"
|
||||
- "windows"
|
||||
- "2022"
|
||||
variables:
|
||||
# Make sure any failure in PowerShell scripts is fatal
|
||||
ErrorActionPreference: "Stop"
|
||||
WarningPreference: "Stop"
|
||||
# Uncomment the following key if need to pass custom args, as well with the
|
||||
# $env:MESON_ARGS line in the `script:` blocks
|
||||
# MESON_ARGS: >-
|
||||
# -Dfoo=enabled
|
||||
# -Dbar=disabled
|
||||
before_script:
|
||||
# Make sure meson is up to date, so we don't need to rebuild the image with each release
|
||||
- pip3 install -U meson certifi
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, so we
|
||||
# have to replace them first.
|
||||
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||
# Gitlab executes PowerShell in docker, but VsDevCmd.bat is a batch script.
|
||||
# Environment variables substitutions is done by PowerShell before calling
|
||||
# cmd.exe, that's why we use $env:FOO instead of %FOO%
|
||||
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
|
||||
SET CERT_PATH=$(python -m certifi) &&
|
||||
SET SSL_CERT_FILE=$(python -m certifi) &&
|
||||
SET REQUESTS_CA_BUNDLE=$(python -m certifi) &&
|
||||
meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
|
||||
meson vs2019 amd64:
|
||||
extends: ".build meson windows"
|
||||
variables:
|
||||
ARCH: "amd64"
|
||||
|
||||
meson vs2019 x86:
|
||||
extends: ".build meson windows"
|
||||
variables:
|
||||
ARCH: "x86"
|
||||
|
||||
meson macos:
|
||||
stage: "test"
|
||||
tags:
|
||||
- gst-macos-11.1
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
|
||||
expire_in: "5 days"
|
||||
when: "always"
|
||||
paths:
|
||||
- "build/meson-logs/*txt"
|
||||
before_script:
|
||||
- pip3 install --upgrade pip
|
||||
# Make sure meson is up to date
|
||||
- pip3 install -U meson
|
||||
# Need to install certificates for python
|
||||
- pip3 install --upgrade certifi
|
||||
# Anther way t install certificates
|
||||
- open /Applications/Python\ 3.8/Install\ Certificates.command
|
||||
# Get ninja
|
||||
- curl -L -o ninja-mac.zip https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-mac.zip
|
||||
- unzip ninja-mac.zip
|
||||
- sudo cp ninja /usr/local/bin
|
||||
script:
|
||||
- CERT_PATH=$(python3 -m certifi) && export SSL_CERT_FILE=${CERT_PATH} && export REQUESTS_CA_BUNDLE=${CERT_PATH} && meson build
|
||||
- ninja -C build
|
||||
- ninja -C build test
|
||||
|
||||
# msys infrastructure is a bit broken, disable for now
|
||||
meson msys2:
|
||||
extends: ".build meson windows"
|
||||
when: "manual"
|
||||
allow_failure: true
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, so we
|
||||
# have to replace them first.
|
||||
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||
|
||||
- $env:PATH += ";C:\msys64\usr\bin;C:\msys64\mingw64/bin;C:\msys64\mingw32/bin"
|
||||
# XXX: Copied from https://gitlab.freedesktop.org/gstreamer/gst-ci/blob/master/gitlab/ci_template.yml#L487
|
||||
# For some reason docker build hangs if this is included in the image, needs more troubleshooting
|
||||
- C:\msys64\usr\bin\bash -c "pacman-key --init && pacman-key --populate msys2 && pacman-key --refresh-keys || true"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Syuu --noconfirm"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Sy --noconfirm --needed mingw-w64-x86_64-toolchain ninja"
|
||||
- C:\msys64\usr\bin\bash -c "meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
|
||||
meson android arm64 fedora:
|
||||
# See https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/164 for current images
|
||||
image: "registry.freedesktop.org/gstreamer/gst-ci/amd64/android-fedora:2020-10-22.0-master"
|
||||
stage: "test"
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
|
||||
expire_in: "5 days"
|
||||
when: "always"
|
||||
paths:
|
||||
- "build/meson-logs/*.txt"
|
||||
before_script:
|
||||
- dnf install -y python3-pip gcc ninja-build gperf
|
||||
- pip3 install --user meson
|
||||
script:
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- |
|
||||
cat > android-cross-file.txt <<EOF
|
||||
[constants]
|
||||
ndk_path = '/android/ndk'
|
||||
toolchain = ndk_path + '/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android'
|
||||
api = '28'
|
||||
|
||||
[host_machine]
|
||||
system = 'android'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
|
||||
[properties]
|
||||
sys_root = ndk_path + '/sysroot'
|
||||
c_args = ['-Wno-pointer-bool-conversion']
|
||||
c_link_args = ['-fuse-ld=gold']
|
||||
cpp_link_args = ['-fuse-ld=gold']
|
||||
|
||||
[binaries]
|
||||
c = toolchain + api + '-clang'
|
||||
cpp = toolchain + api + '-clang++'
|
||||
ar = toolchain + '-ar'
|
||||
strip = toolchain + '-strip'
|
||||
EOF
|
||||
- meson setup --werror --cross-file android-cross-file.txt build
|
||||
- meson compile --verbose -C build
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<description>Use lcdnone as default for LCD filter</description>
|
||||
<!-- Use lcdnone as default for LCD filter -->
|
||||
<match target="pattern">
|
||||
<!--
|
||||
This sort of configuration is available on the major desktop environments
|
||||
and we don't have to break it with "assign" unconditionally. however, we
|
||||
want to set something for others. So we use "append" here to get this working
|
||||
in both cases so that most clients would takes a look at the first place only.
|
||||
-->
|
||||
<edit mode="append" name="lcdfilter">
|
||||
<const>lcdnone</const>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -53,13 +53,6 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
|||
<!-- Map specifics to generics -->
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Helvetica LT Std</family>
|
||||
<default>
|
||||
<family>Helvetica</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Sans L</family>
|
||||
<default>
|
||||
|
@ -116,13 +109,6 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
|||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier Std</family>
|
||||
<accept>
|
||||
<family>Courier</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Mono L</family>
|
||||
<default>
|
||||
|
@ -509,13 +495,6 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
|||
<!-- Map generics to specifics -->
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Helvetica</family>
|
||||
<accept>
|
||||
<family>Helvetica LT Std</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Helvetica</family>
|
||||
<accept>
|
||||
|
@ -545,9 +524,9 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
|||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier</family>
|
||||
<accept>
|
||||
<family>Courier Std</family>
|
||||
<accept>
|
||||
<family>Courier</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
|
|
|
@ -125,10 +125,6 @@
|
|||
<family>DejaVu Sans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Helvetica LT Std</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Helvetica</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
|
@ -193,11 +189,11 @@
|
|||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Courier Std</family>
|
||||
<family>Courier</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Courier</family>
|
||||
<family>Courier Std</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
|
|
|
@ -33,10 +33,6 @@
|
|||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>Hiragino Mincho ProN</family> <!-- han (ja) - macOS -->
|
||||
<family>Songti SC</family> <!-- han (zh-cn) - macOS -->
|
||||
<family>Songti TC</family> <!-- han (zh-tw) - macOS -->
|
||||
<family>SimSong</family> <!-- han (zh-cn) - macOS -->
|
||||
<family>MgOpen Canonica</family>
|
||||
<family>Sazanami Mincho</family>
|
||||
<family>IPAMonaMincho</family>
|
||||
|
@ -50,7 +46,6 @@
|
|||
<family>NanumMyeongjo</family> <!-- hangul (ko) -->
|
||||
<family>UnBatang</family> <!-- hangul (ko) -->
|
||||
<family>Baekmuk Batang</family> <!-- hangul (ko) -->
|
||||
<family>AppleMyungjo</family> <!-- hangul (ko) - macOS -->
|
||||
<family>KacstQura</family>
|
||||
<family>Frank Ruehl CLM</family>
|
||||
<family>Lohit Bengali</family>
|
||||
|
@ -108,12 +103,6 @@
|
|||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>Hiragino Sans</family> <!-- han (ja) - macOS -->
|
||||
<family>PingFang SC</family> <!-- han (zh-cn) - macOS -->
|
||||
<family>PingFang TC</family> <!-- han (zh-tw) - macOS -->
|
||||
<family>PingFang HK</family> <!-- han (zh-hk) - macOS -->
|
||||
<family>Hiragino Sans CNS</family> <!-- han (zh-cn) - macOS -->
|
||||
<family>Hiragino Sans GB</family> <!-- han (zh-tw) - macOS -->
|
||||
<family>MgOpen Modata</family>
|
||||
<family>VL Gothic</family>
|
||||
<family>IPAMonaGothic</family>
|
||||
|
@ -132,7 +121,6 @@
|
|||
<family>UnDotum</family> <!-- hangul (ko) -->
|
||||
<family>Baekmuk Dotum</family> <!-- hangul (ko) -->
|
||||
<family>Baekmuk Gulim</family> <!-- hangul (ko) -->
|
||||
<family>Apple SD Gothic Neo</family> <!-- hangul (ko) - macOS -->
|
||||
<family>KacstQura</family>
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<selectfont>
|
||||
<rejectfont>
|
||||
<pattern>
|
||||
<patelt name="outline"><bool>false</bool></patelt>
|
||||
<patelt name="scalable"><bool>false</bool></patelt>
|
||||
</pattern>
|
||||
</rejectfont>
|
||||
</selectfont>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<selectfont>
|
||||
<acceptfont>
|
||||
<pattern>
|
||||
<patelt name="outline"><bool>false</bool></patelt>
|
||||
<patelt name="scalable"><bool>false</bool></patelt>
|
||||
</pattern>
|
||||
</acceptfont>
|
||||
</selectfont>
|
||||
|
|
|
@ -79,7 +79,6 @@ template_DATA = \
|
|||
11-lcdfilter-default.conf \
|
||||
11-lcdfilter-legacy.conf \
|
||||
11-lcdfilter-light.conf \
|
||||
11-lcdfilter-none.conf \
|
||||
20-unhint-small-vera.conf \
|
||||
25-unhint-nonlatin.conf \
|
||||
30-metric-aliases.conf \
|
||||
|
@ -109,7 +108,14 @@ README: $(srcdir)/README.in
|
|||
cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) $(top_builddir)/conf.d/35-lang-normalize.conf
|
||||
|
||||
install-data-hook:
|
||||
$(PYTHON) $(srcdir)/link_confs.py $(templatedir) $(configdir) $(CONF_LINKS)
|
||||
mkdir -p $(DESTDIR)$(configdir)
|
||||
@(echo cd $(DESTDIR)$(configdir); \
|
||||
cd $(DESTDIR)$(configdir); \
|
||||
for i in $(CONF_LINKS); do \
|
||||
echo $(RM) $$i";" ln -s $(templatedir)/$$i .; \
|
||||
$(RM) $$i; \
|
||||
ln -s $(templatedir)/$$i .; \
|
||||
done)
|
||||
uninstall-local:
|
||||
@(echo cd $(DESTDIR)$(configdir); \
|
||||
cd $(DESTDIR)$(configdir); \
|
||||
|
|
|
@ -34,7 +34,7 @@ if __name__=='__main__':
|
|||
except FileNotFoundError:
|
||||
pass
|
||||
try:
|
||||
os.symlink(os.path.relpath(src, start=args.confpath), dst)
|
||||
os.symlink(src, dst)
|
||||
except NotImplementedError:
|
||||
# Not supported on this version of Windows
|
||||
break
|
||||
|
|
|
@ -18,7 +18,6 @@ conf_files = [
|
|||
'11-lcdfilter-default.conf',
|
||||
'11-lcdfilter-legacy.conf',
|
||||
'11-lcdfilter-light.conf',
|
||||
'11-lcdfilter-none.conf',
|
||||
'20-unhint-small-vera.conf',
|
||||
'25-unhint-nonlatin.conf',
|
||||
'30-metric-aliases.conf',
|
||||
|
|
|
@ -55,7 +55,7 @@ running out of memory.
|
|||
@FUNC@ FcCharSetDelChar
|
||||
@TYPE1@ FcCharSet * @ARG1@ fcs
|
||||
@TYPE2@ FcChar32% @ARG2@ ucs4
|
||||
@PURPOSE@ Delete a character from a charset
|
||||
@PURPOSE@ Add a character to a charset
|
||||
@DESC@
|
||||
<function>FcCharSetDelChar</function> deletes a single Unicode char from the set,
|
||||
returning FcFalse on failure, either as a result of a constant set or from
|
||||
|
|
|
@ -109,15 +109,9 @@ disabled. The previous setting of the value is returned.
|
|||
@PURPOSE@ Build font database
|
||||
@DESC@
|
||||
Builds the set of available fonts for the given configuration. Note that
|
||||
any changes to the configuration after this call (through
|
||||
<function>FcConfigParseAndLoad</function> or
|
||||
<function>FcConfigParseAndLoadFromMemory</function>) have indeterminate
|
||||
effects. (On the other hand, application fonts can still be modified
|
||||
through <function>FcConfigAppFontAddFile</function>,
|
||||
<function>FcConfigAppFontAddDir</function> and
|
||||
<function>FcConfigAppFontClear</function>). Returns FcFalse if this operation
|
||||
runs out of memory. If <parameter>config</parameter> is NULL, the current
|
||||
configuration is used.
|
||||
any changes to the configuration after this call have indeterminate effects.
|
||||
Returns FcFalse if this operation runs out of memory.
|
||||
If <parameter>config</parameter> is NULL, the current configuration is used.
|
||||
@@
|
||||
|
||||
@RET@ FcStrList *
|
||||
|
@ -391,12 +385,6 @@ and parsed. If 'complain' is FcFalse, no warning will be displayed if
|
|||
'file' does not exist. Error and warning messages will be output to stderr.
|
||||
Returns FcFalse if some error occurred while loading the file, either a
|
||||
parse error, semantic error or allocation failure. Otherwise returns FcTrue.
|
||||
|
||||
After all configuration files / strings have been loaded, with
|
||||
<function>FcConfigParseAndLoad</function> and/or
|
||||
<function>FcConfigParseAndLoadFromMemory</function>, call
|
||||
<function>FcConfigBuildFonts</function> to build the font
|
||||
database.
|
||||
@@
|
||||
|
||||
@RET@ FcBool
|
||||
|
@ -412,12 +400,6 @@ and dparsed. If 'complain' is FcFalse, no warning will be displayed if
|
|||
'file' does not exist. Error and warning messages will be output to stderr.
|
||||
Returns FcFalse if fsome error occurred while loading the file, either a
|
||||
parse error, semantic error or allocation failure. Otherwise returns FcTrue.
|
||||
|
||||
After all configuration files / strings have been loaded, with
|
||||
<function>FcConfigParseAndLoad</function> and/or
|
||||
<function>FcConfigParseAndLoadFromMemory</function>, call
|
||||
<function>FcConfigBuildFonts</function> to build the font
|
||||
database.
|
||||
@SINCE@ 2.12.5
|
||||
@@
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ convenience for the application's rendering mechanism.
|
|||
face object
|
||||
rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
|
||||
outline FC_OUTLINE Bool Whether the glyphs are outlines
|
||||
scalable FC_SCALABLE Bool Whether the glyphs are outlines or have color
|
||||
scalable FC_SCALABLE Bool Whether glyphs can be scaled
|
||||
dpi FC_DPI Double Target dots per inch
|
||||
rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
|
||||
vbgr, none - subpixel geometry
|
||||
|
@ -183,7 +183,6 @@ convenience for the application's rendering mechanism.
|
|||
conversions (deprecated)
|
||||
minspace FC_MINSPACE Bool Eliminate leading from line
|
||||
spacing
|
||||
matrix FC_MATRIX Matrix Hold an affine transformation
|
||||
charset FC_CHARSET CharSet Unicode chars encoded by
|
||||
the font
|
||||
lang FC_LANG LangSet Set of RFC-3066-style
|
||||
|
@ -208,15 +207,12 @@ convenience for the application's rendering mechanism.
|
|||
hash FC_HASH String SHA256 hash value of the font data
|
||||
with "sha256:" prefix (deprecated)
|
||||
postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
|
||||
color FC_COLOR Bool Whether any glyphs have color
|
||||
symbol FC_SYMBOL Bool Whether font uses MS symbol-font encoding
|
||||
color FC_COLOR Bool Whether any glyphs have color
|
||||
fontvariations FC_FONT_VARIATIONS String comma-separated string of axes in variable font
|
||||
variable FC_VARIABLE Bool Whether font is Variable Font
|
||||
fonthashint FC_FONT_HAS_HINT Bool Whether font has hinting
|
||||
order FC_ORDER Int Order number of the font
|
||||
desktop FC_DESKTOP_NAME String Current desktop name
|
||||
namedinstance FC_NAMED_INSTANCE Bool Whether font is a named instance
|
||||
fontwarapper FC_FONT_WRAPPER String The font wrapper format
|
||||
</programlisting>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
|
|
@ -101,15 +101,15 @@ fullname String Font full names (often includes style)
|
|||
fullnamelang String Languages corresponding to each fullname
|
||||
slant Int Italic, oblique or roman
|
||||
weight Int Light, medium, demibold, bold or black
|
||||
width Int Condensed, normal or expanded
|
||||
size Double Point size
|
||||
width Int Condensed, normal or expanded
|
||||
aspect Double Stretches glyphs horizontally before hinting
|
||||
pixelsize Double Pixel size
|
||||
spacing Int Proportional, dual-width, monospace or charcell
|
||||
foundry String Font foundry name
|
||||
antialias Bool Whether glyphs can be antialiased
|
||||
hintstyle Int Automatic hinting style
|
||||
hinting Bool Whether the rasterizer should use hinting
|
||||
hintstyle Int Automatic hinting style
|
||||
verticallayout Bool Use vertical layout
|
||||
autohint Bool Use autohinter instead of normal hinter
|
||||
globaladvance Bool Use font global advance data (deprecated)
|
||||
|
@ -118,12 +118,14 @@ index Int The index of the font within the file
|
|||
ftface FT_Face Use the specified FreeType face object
|
||||
rasterizer String Which rasterizer is in use (deprecated)
|
||||
outline Bool Whether the glyphs are outlines
|
||||
scalable Bool Whether the glyphs are outlines or have color
|
||||
scalable Bool Whether glyphs can be scaled
|
||||
color Bool Whether any glyphs have color
|
||||
scale Double Scale factor for point->pixel conversions
|
||||
(deprecated)
|
||||
dpi Double Target dots per inch
|
||||
rgba Int unknown, rgb, bgr, vrgb, vbgr,
|
||||
none - subpixel geometry
|
||||
scale Double Scale factor for point->pixel conversions
|
||||
(deprecated)
|
||||
lcdfilter Int Type of LCD filter
|
||||
minspace Bool Eliminate leading from line spacing
|
||||
charset CharSet Unicode chars encoded by the font
|
||||
lang String List of RFC-3066-style languages this
|
||||
|
@ -134,23 +136,13 @@ fontformat String String name of the font format
|
|||
embolden Bool Rasterizer should synthetically embolden the font
|
||||
embeddedbitmap Bool Use the embedded bitmap instead of the outline
|
||||
decorative Bool Whether the style is a decorative variant
|
||||
lcdfilter Int Type of LCD filter
|
||||
fontfeatures String List of the feature tags in OpenType to be enabled
|
||||
namelang String Language name to be used for the default value of
|
||||
familylang, stylelang, and fullnamelang
|
||||
fontfeatures String List of the feature tags in OpenType to be enabled
|
||||
prgname String String Name of the running program
|
||||
postscriptname String Font family name in PostScript
|
||||
color Bool Whether any glyphs have color
|
||||
symbol Bool Whether font uses MS symbol-font encoding
|
||||
fontvariations String comma-separated string of axes in variable font
|
||||
variable Bool Wheter font is Variable Font
|
||||
fonthashint Bool Whether the font has hinting
|
||||
order Int Order number of the font
|
||||
desktop String Current desktop name
|
||||
namedinstance Bool Whether font is a named instance
|
||||
fontwarapper String The font wrapper format, current values are WOFF, WOFF2,
|
||||
SFNT for any other SFNT font, and CFF for standalone
|
||||
CFF fonts.
|
||||
</programlisting>
|
||||
</refsect2>
|
||||
<refsect2>
|
||||
|
@ -387,21 +379,18 @@ Fontconfig will validate all of the configuration files and directories and
|
|||
automatically rebuild the internal datastructures when this interval passes.
|
||||
</para></refsect2>
|
||||
<refsect2><title><literal><selectfont></literal></title><para>
|
||||
This element is used to deny/allow list fonts from being listed or matched
|
||||
against. It holds acceptfont and rejectfont elements. This list is applied
|
||||
only once when caches is loaded. So if you want to filter out by some patterns,
|
||||
patterns is evaluated with something in cache only.
|
||||
In other words, target patterns except "scan" won't takes any effects.
|
||||
This element is used to black/white list fonts from being listed or matched
|
||||
against. It holds acceptfont and rejectfont elements.
|
||||
</para></refsect2>
|
||||
<refsect2><title><literal><acceptfont></literal></title><para>
|
||||
Fonts matched by an acceptfont element are "allowlisted"; such fonts are
|
||||
Fonts matched by an acceptfont element are "whitelisted"; such fonts are
|
||||
explicitly included in the set of fonts used to resolve list and match
|
||||
requests; including them in this list protects them from being "denylisted"
|
||||
requests; including them in this list protects them from being "blacklisted"
|
||||
by a rejectfont element. Acceptfont elements include glob and pattern
|
||||
elements which are used to match fonts.
|
||||
</para></refsect2>
|
||||
<refsect2><title><literal><rejectfont></literal></title><para>
|
||||
Fonts matched by an rejectfont element are "denylisted"; such fonts are
|
||||
Fonts matched by an rejectfont element are "blacklisted"; such fonts are
|
||||
excluded from the set of fonts used to resolve list and match requests as if
|
||||
they didn't exist in the system. Rejectfont elements include glob and
|
||||
pattern elements which are used to match fonts.
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# CaseFolding-15.1.0.txt
|
||||
# Date: 2023-05-12, 21:53:10 GMT
|
||||
# © 2023 Unicode®, Inc.
|
||||
# CaseFolding-14.0.0.txt
|
||||
# Date: 2021-03-08, 19:35:41 GMT
|
||||
# © 2021 Unicode®, Inc.
|
||||
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
# For terms of use, see https://www.unicode.org/terms_of_use.html
|
||||
# For terms of use, see http://www.unicode.org/terms_of_use.html
|
||||
#
|
||||
# Unicode Character Database
|
||||
# For documentation, see https://www.unicode.org/reports/tr44/
|
||||
# For documentation, see http://www.unicode.org/reports/tr44/
|
||||
#
|
||||
# Case Folding Properties
|
||||
#
|
||||
|
@ -929,7 +929,6 @@
|
|||
1FCC; S; 1FC3; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
|
||||
1FD2; F; 03B9 0308 0300; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
|
||||
1FD3; F; 03B9 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
|
||||
1FD3; S; 0390; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
|
||||
1FD6; F; 03B9 0342; # GREEK SMALL LETTER IOTA WITH PERISPOMENI
|
||||
1FD7; F; 03B9 0308 0342; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
|
||||
1FD8; C; 1FD0; # GREEK CAPITAL LETTER IOTA WITH VRACHY
|
||||
|
@ -938,7 +937,6 @@
|
|||
1FDB; C; 1F77; # GREEK CAPITAL LETTER IOTA WITH OXIA
|
||||
1FE2; F; 03C5 0308 0300; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
|
||||
1FE3; F; 03C5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
|
||||
1FE3; S; 03B0; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
|
||||
1FE4; F; 03C1 0313; # GREEK SMALL LETTER RHO WITH PSILI
|
||||
1FE6; F; 03C5 0342; # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
|
||||
1FE7; F; 03C5 0308 0342; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
|
||||
|
@ -1330,7 +1328,6 @@ FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
|
|||
FB03; F; 0066 0066 0069; # LATIN SMALL LIGATURE FFI
|
||||
FB04; F; 0066 0066 006C; # LATIN SMALL LIGATURE FFL
|
||||
FB05; F; 0073 0074; # LATIN SMALL LIGATURE LONG S T
|
||||
FB05; S; FB06; # LATIN SMALL LIGATURE LONG S T
|
||||
FB06; F; 0073 0074; # LATIN SMALL LIGATURE ST
|
||||
FB13; F; 0574 0576; # ARMENIAN SMALL LIGATURE MEN NOW
|
||||
FB14; F; 0574 0565; # ARMENIAN SMALL LIGATURE MEN ECH
|
||||
|
|
|
@ -96,7 +96,7 @@ manpage.1: manpage.sgml
|
|||
|
||||
<para><command>&dhpackage;</command> prints an annotated list of all the configuration files processed by Fontconfig.</para>
|
||||
<para>The output is a `-' or `+' depending on whether the file is ignored or processed, a space, the file's path, a colon and space, and the description from the file or `No description' if none is present.</para>
|
||||
<para>The order of files looks like how fontconfig actually processes them except one contains <include> element.
|
||||
<para>The order of files looks like how fontconfig acautlly process them except one contains <include> element.
|
||||
In that case, it will be shown after processing all the sub directories where is targeted by <include>.</para>
|
||||
|
||||
</refsect1>
|
||||
|
|
|
@ -282,40 +282,7 @@ ORTH = \
|
|||
doi.orth \
|
||||
mni.orth \
|
||||
und_zsye.orth \
|
||||
und_zmth.orth \
|
||||
anp.orth \
|
||||
bhb.orth \
|
||||
hif.orth \
|
||||
mag.orth \
|
||||
raj.orth \
|
||||
the.orth \
|
||||
agr.orth \
|
||||
ayc.orth \
|
||||
bem.orth \
|
||||
ckb.orth \
|
||||
cmn.orth \
|
||||
dsb.orth \
|
||||
hak.orth \
|
||||
lij.orth \
|
||||
lzh.orth \
|
||||
mfe.orth \
|
||||
mhr.orth \
|
||||
miq.orth \
|
||||
mjw.orth \
|
||||
mnw.orth \
|
||||
nan.orth \
|
||||
nhn.orth \
|
||||
niu.orth \
|
||||
rif.orth \
|
||||
sgs.orth \
|
||||
shn.orth \
|
||||
szl.orth \
|
||||
tcy.orth \
|
||||
tpi.orth \
|
||||
unm.orth \
|
||||
wae.orth \
|
||||
yue.orth \
|
||||
yuw.orth
|
||||
und_zmth.orth
|
||||
# ^-------------- Add new orth files here
|
||||
|
||||
BUILT_SOURCES += $(top_builddir)/conf.d/35-lang-normalize.conf
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/agr.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Aguaruna (Latin) (anp) Endonym: Awajún
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Aguaruna_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/agr_PE
|
||||
0041-005a
|
||||
0061-007a
|
||||
00fa # ú LATIN SMALL LETTER U WITH ACUTE
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/anp.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Anguika (Devanagari script) (anp)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Angika
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/anp_IN
|
||||
include hi.orth
|
|
@ -1,35 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/ayc.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Aymara (Latin) (ayc)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Aymara_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/ayc_PE
|
||||
0041-005a
|
||||
0061-007a
|
||||
# Long vowels are indicated in the spelling with a diaeresis in writing: ä, ï, ü
|
||||
00e4 # ä LATIN SMALL LETTER A WITH DIAERESIS
|
||||
00ef # ï LATIN SMALL LETTER I WITH DIAERESIS
|
||||
00fc # ü LATIN SMALL LETTER U WITH DIAERESIS
|
||||
00f1 # ñ LATIN SMALL LETTER N WITH TILDE
|
|
@ -1,31 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/bem.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Bemba (Latin) (bem)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Bemba_language
|
||||
# https://github.com/unicode-org/cldr/blob/main/common/main/bem.xml
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/bem_ZM
|
||||
0041-005a
|
||||
0061-007a
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/bhb.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Bhili (Devanagari script) (bhb)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Bhili_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/bhb_IN
|
||||
include hi.orth
|
|
@ -1,32 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/ckb.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Central Kurdish (ckb)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Sorani
|
||||
# https://en.wikipedia.org/wiki/Kurdish_alphabets#Sorani_alphabet
|
||||
# https://github.com/unicode-org/cldr/blob/main/common/main/ckb.xml
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/ckb_IQ
|
||||
# Assuming central Kurdish uses the same orthography as Iranian Kurdish
|
||||
include ku_ir.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/cmn.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Mandarin Chinese (cmn)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Mandarin_Chinese
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/cmn_TW
|
||||
include zh_tw.orth
|
|
@ -1,37 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/dsb.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Lower Sorbian (dsb)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Lower_Sorbian_language
|
||||
# https://en.wikipedia.org/wiki/Sorbian_alphabet
|
||||
#
|
||||
# “The Sorbian alphabet is based on the ISO basic Latin alphabet but
|
||||
# uses diacritics such as the acute accent and the caron, making it
|
||||
# similar to the Czech and Polish alphabets. (This mixture is also
|
||||
# found in the Belarusian Latin alphabet.) The standard character
|
||||
# encoding for the Sorbian alphabet is ISO 8859-2 (Latin-2).”
|
||||
#
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/dsb_DE
|
||||
include cs.orth
|
|
@ -251,7 +251,7 @@ if __name__=='__main__':
|
|||
print('#define fcLangCharSetIndices (fcLangData.langIndices)')
|
||||
print('#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv)')
|
||||
|
||||
assert len(sets) < 65536 # FIXME: need to change index type to 32-bit below then
|
||||
assert len(sets) < 256 # FIXME: need to change index type to 16-bit below then
|
||||
|
||||
print('''
|
||||
static const struct {{
|
||||
|
@ -262,7 +262,7 @@ static const struct {{
|
|||
{} langIndices[{}];
|
||||
{} langIndicesInv[{}];
|
||||
}} fcLangData = {{'''.format(len(sets), len(leaves), tn, tn,
|
||||
'FcChar16 ', len(sets), 'FcChar16 ', len(sets)))
|
||||
'FcChar8 ', len(sets), 'FcChar8 ', len(sets)))
|
||||
|
||||
# Dump sets
|
||||
print('{')
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/hak.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Hakka Chinese (hak)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Hakka_Chinese
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/hak_TW
|
||||
include zh_tw.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/hif.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Fiji Hindi (Devanagari script) (hif)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Fiji_Hindi
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/hif_FJ
|
||||
include hi.orth
|
|
@ -1,38 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/lij.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Ligurian (lij)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Lower_Sorbian_language
|
||||
# https://en.wikipedia.org/wiki/Sorbian_alphabet'
|
||||
# https://github.com/unicode-org/cldr/blob/main/common/main/lij.xml
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/lij_IT
|
||||
include it.orth
|
||||
00e2 # â LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
00e4 # ä LATIN SMALL LETTER A WITH DIAERESIS
|
||||
00e6 # æ LATIN SMALL LETTER AE
|
||||
00e7 # ç LATIN SMALL LETTER C WITH CEDILLA
|
||||
00f1 # ñ LATIN SMALL LETTER N WITH TILDE
|
||||
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/lzh.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Literary Chinese (lzh)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Classical_Chinese
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/lzh_TW
|
||||
include zh_tw.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/mag.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Magahi (Devanagari script) (mag)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Magahi_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/mag_IN
|
||||
include hi.orth
|
|
@ -246,39 +246,6 @@ orth_files = [
|
|||
'mni.orth',
|
||||
'und_zsye.orth',
|
||||
'und_zmth.orth',
|
||||
'anp.orth',
|
||||
'bhb.orth',
|
||||
'hif.orth',
|
||||
'mag.orth',
|
||||
'raj.orth',
|
||||
'the.orth',
|
||||
'agr.orth',
|
||||
'ayc.orth',
|
||||
'bem.orth',
|
||||
'ckb.orth',
|
||||
'cmn.orth',
|
||||
'dsb.orth',
|
||||
'hak.orth',
|
||||
'lij.orth',
|
||||
'lzh.orth',
|
||||
'mfe.orth',
|
||||
'mhr.orth',
|
||||
'miq.orth',
|
||||
'mjw.orth',
|
||||
'mnw.orth',
|
||||
'nan.orth',
|
||||
'nhn.orth',
|
||||
'niu.orth',
|
||||
'rif.orth',
|
||||
'sgs.orth',
|
||||
'shn.orth',
|
||||
'szl.orth',
|
||||
'tcy.orth',
|
||||
'tpi.orth',
|
||||
'unm.orth',
|
||||
'wae.orth',
|
||||
'yue.orth',
|
||||
'yuw.orth',
|
||||
]
|
||||
|
||||
fclang_h = custom_target('fclang.h',
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/mfe.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Mauritian Creole (mfe)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Mauritian_Creole#Orthography
|
||||
# https://github.com/unicode-org/cldr/blob/main/common/main/mfe.xml
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/mfe_MU
|
||||
include fr.orth
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/mhr.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Meadow Mari (mhr)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Meadow_Mari_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/mhr_RU
|
||||
include ru.orth
|
|
@ -1,39 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/miq.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Miskito (miq)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Miskito_language#Orthography_and_phonology
|
||||
#
|
||||
# “There is still much controversy about Miskito orthography and it
|
||||
# cannot be considered settled, even with printed Miskito grammars,
|
||||
# Bible translations, and other texts.”
|
||||
#
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/miq_NI
|
||||
include es.orth
|
||||
00e3 # ã LATIN SMALL LETTER A WITH TILDE
|
||||
1ebd # ẽ LATIN SMALL LETTER E WITH TILDE
|
||||
0129 # ĩ LATIN SMALL LETTER I WITH TILDE
|
||||
00f5 # õ LATIN SMALL LETTER O WITH TILDE
|
||||
0169 # ũ LATIN SMALL LETTER U WITH TILDE
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/mjw.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Karbi (mjw)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Karbi_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/mjw_IN
|
||||
include en.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/mnw.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Mon (mnw)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Mon_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/mnw_MM
|
||||
include my.orth
|
|
@ -1,31 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/nan.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Min Nan Chinese (nan)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Southern_Min
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/nan_TW
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/nan_TW@latin
|
||||
include zh_tw.orth
|
||||
include en.orth
|
|
@ -1,31 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/nhn.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Tlaxcala-Puebla Nahuatl (nhn) Endonym: Tlahco nāhuatlahtōlli
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Tlaxcala%E2%80%93Puebla_Nahuatl
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/nhn_MX
|
||||
include es.orth
|
||||
0101 # ā LATIN SMALL LETTER A WITH MACRON
|
||||
014d # ō LATIN SMALL LETTER O WITH MACRON
|
|
@ -1,35 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/niu.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Niuean (niu)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Niuean_language#Orthography
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/niu_NU
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/niu_NZ
|
||||
include en.orth
|
||||
0101 # ā LATIN SMALL LETTER A WITH MACRON
|
||||
0113 # ē LATIN SMALL LETTER E WITH MACRON
|
||||
012b # ī LATIN SMALL LETTER I WITH MACRON
|
||||
014d # ō LATIN SMALL LETTER O WITH MACRON
|
||||
016b # ū LATIN SMALL LETTER U WITH MACRON
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/raj.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Rajasthani (Devanagari script) (raj)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Rajasthani_languages
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/raj_IN
|
||||
include hi.orth
|
|
@ -1,43 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/rif.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Riffian (rif)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Tarifit
|
||||
# https://en.wikipedia.org/wiki/Berber_Latin_alphabet
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/rif_MA
|
||||
include en.orth
|
||||
010d # č LATIN SMALL LETTER C WITH CARON
|
||||
1e0d # ḍ LATIN SMALL LETTER D WITH DOT BELOW
|
||||
025b # ɛ LATIN SMALL LETTER OPEN E
|
||||
01e7 # ǧ LATIN SMALL LETTER G WITH CARON
|
||||
0263 # ɣ LATIN SMALL LETTER GAMMA
|
||||
1e25 # ḥ LATIN SMALL LETTER H WITH DOT BELOW
|
||||
0159 # ř LATIN SMALL LETTER R WITH CARON
|
||||
1e5b # ṛ LATIN SMALL LETTER R WITH DOT BELOW
|
||||
1e63 # ṣ LATIN SMALL LETTER S WITH DOT BELOW
|
||||
1e6d # ṭ LATIN SMALL LETTER T WITH DOT BELOW
|
||||
1e93 # ẓ LATIN SMALL LETTER Z WITH DOT BELOW
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/sgs.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Samogitian (sgs)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Samogitian_language#Writing_system
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/sgs_LT
|
||||
include lt.orth
|
||||
0101 # ā LATIN SMALL LETTER A WITH MACRON
|
||||
0113 # ē LATIN SMALL LETTER E WITH MACRON
|
||||
014d # ō LATIN SMALL LETTER O WITH MACRON
|
||||
012b # ī LATIN SMALL LETTER I WITH MACRON
|
||||
0117 # ė LATIN SMALL LETTER E WITH DOT ABOVE
|
||||
0304 # ̄ COMBINING MACRON
|
||||
00f5 # õ LATIN SMALL LETTER O WITH TILDE
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/shn.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Shan (shn)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Shan_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/shn_MM
|
||||
include my.orth
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/szl.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Silesian (szl)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Silesian_language
|
||||
# https://en.wikipedia.org/wiki/Silesian_language#Writing_system
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/szl_PL
|
||||
include pl.orth
|
||||
00c3 # Ã LATIN CAPITAL LETTER A WITH TILDE
|
||||
0106 # Ć LATIN CAPITAL LETTER C WITH ACUTE
|
||||
0141 # Ł LATIN CAPITAL LETTER L WITH STROKE
|
||||
0143 # Ń LATIN CAPITAL LETTER N WITH ACUTE
|
||||
014e # Ŏ LATIN CAPITAL LETTER O WITH BREVE
|
||||
014c # Ō LATIN CAPITAL LETTER O WITH MACRON
|
||||
00d4 # Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX
|
||||
00d5 # Õ LATIN CAPITAL LETTER O WITH TILDE
|
||||
015a # Ś LATIN CAPITAL LETTER S WITH ACUTE
|
||||
016e # Ů LATIN CAPITAL LETTER U WITH RING ABOVE
|
||||
0179 # Ź LATIN CAPITAL LETTER Z WITH ACUTE
|
||||
017b # Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/tcy.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Tulu (tcy)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Tulu_language#Writing_system
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/tcy_IN
|
||||
include kn.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/the.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Chitwania Tharu (Devanagari script) (the)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Tharu_languages
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/the_NP
|
||||
include hi.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/tpi.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Tok Pisin (tpi)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Tok_Pisin#Alphabet
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/tpi_PG
|
||||
include en.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/unm.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Unami language (unm)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Unami_language
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/unm_US
|
||||
include en.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/wae.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Walser German (wae)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Walser_German#Phonology
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/wae_CH
|
||||
include de.orth
|
|
@ -1,30 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/yue.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Yue Chinese, Cantonese (yue)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Cantonese
|
||||
# https://en.wikipedia.org/wiki/Yue_Chinese
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/yue_HK
|
||||
include zh_hk.orth
|
|
@ -1,29 +0,0 @@
|
|||
#
|
||||
# fontconfig/fc-lang/yuw.orth
|
||||
#
|
||||
# Copyright © 2022 Mike FABIAN
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of the author(s) not be used in
|
||||
# advertising or publicity pertaining to distribution of the software without
|
||||
# specific, written prior permission. The authors make no
|
||||
# representations about the suitability of this software for any purpose. It
|
||||
# is provided "as is" without express or implied warranty.
|
||||
#
|
||||
# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Yau (yuw)
|
||||
#
|
||||
# See:
|
||||
# https://en.wikipedia.org/wiki/Yau_language_(Trans%E2%80%93New_Guinea)
|
||||
# https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=localedata/locales/yuw_PG
|
||||
include en.orth
|
|
@ -67,7 +67,7 @@ typedef int FcBool;
|
|||
* it means multiple copies of the font information.
|
||||
*/
|
||||
|
||||
#define FC_CACHE_VERSION_NUMBER 9
|
||||
#define FC_CACHE_VERSION_NUMBER 8
|
||||
#define _FC_STRINGIFY_(s) #s
|
||||
#define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
|
||||
#define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
|
||||
|
@ -129,8 +129,6 @@ typedef int FcBool;
|
|||
#define FC_FONT_HAS_HINT "fonthashint" /* Bool - true if font has hinting */
|
||||
#define FC_ORDER "order" /* Integer */
|
||||
#define FC_DESKTOP_NAME "desktop" /* String */
|
||||
#define FC_NAMED_INSTANCE "namedinstance" /* Bool - true if font is named instance */
|
||||
#define FC_FONT_WRAPPER "fontwrapper" /* String */
|
||||
|
||||
#define FC_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION
|
||||
#define FC_DIR_CACHE_FILE "fonts.cache-" FC_CACHE_VERSION
|
||||
|
|
81
meson.build
81
meson.build
|
@ -1,6 +1,6 @@
|
|||
project('fontconfig', 'c',
|
||||
version: '2.14.2',
|
||||
meson_version : '>= 0.60.0',
|
||||
meson_version : '>= 0.57.0',
|
||||
default_options: [ 'buildtype=debugoptimized'],
|
||||
)
|
||||
|
||||
|
@ -209,20 +209,6 @@ if cc.links(files('meson-cc-tests/solaris-atomic-operations.c'), name: 'Solaris
|
|||
endif
|
||||
|
||||
|
||||
# Check iconv support
|
||||
iconv_dep = []
|
||||
found_iconv = 0
|
||||
if host_machine.system() != 'windows'
|
||||
iconv_dep = dependency('iconv', required: get_option('iconv'))
|
||||
found_iconv = iconv_dep.found().to_int()
|
||||
else
|
||||
if get_option('iconv').enabled()
|
||||
warning('-Diconv was set but this is not functional on Windows.')
|
||||
endif
|
||||
endif
|
||||
conf.set('USE_ICONV', found_iconv)
|
||||
deps += [iconv_dep]
|
||||
|
||||
prefix = get_option('prefix')
|
||||
|
||||
fonts_conf = configuration_data()
|
||||
|
@ -302,7 +288,7 @@ endif
|
|||
|
||||
fc_baseconfigdir = get_option('baseconfig-dir')
|
||||
if fc_baseconfigdir in ['default', 'yes', 'no']
|
||||
fc_baseconfigdir = prefix / get_option('sysconfdir') / 'fonts'
|
||||
fc_baseconfigdir = prefix / get_option('sysconfdir') / 'fonts'
|
||||
endif
|
||||
|
||||
fc_configdir = get_option('config-dir')
|
||||
|
@ -339,7 +325,7 @@ if gperf.found()
|
|||
@1@
|
||||
'''
|
||||
gperf_snippet = run_command(gperf, '-L', 'ANSI-C', files('meson-cc-tests/gperf.txt'),
|
||||
check: true).stdout()
|
||||
check: true).stdout()
|
||||
|
||||
foreach type : ['size_t', 'unsigned']
|
||||
if cc.compiles(gperf_test_format.format(type, gperf_snippet))
|
||||
|
@ -361,7 +347,7 @@ endif
|
|||
message('gperf len type is @0@'.format(gperf_len_type))
|
||||
|
||||
conf.set('FC_GPERF_SIZE_T', gperf_len_type,
|
||||
description : 'The type of gperf "len" parameter')
|
||||
description : 'The type of gperf "len" parameter')
|
||||
|
||||
conf.set('_GNU_SOURCE', true)
|
||||
|
||||
|
@ -384,16 +370,16 @@ fcstdint_h = configure_file(
|
|||
makealias = files('src/makealias.py')[0]
|
||||
|
||||
alias_headers = custom_target('alias_headers',
|
||||
output: ['fcalias.h', 'fcaliastail.h'],
|
||||
input: ['fontconfig/fontconfig.h', 'src/fcdeprecate.h', 'fontconfig/fcprivate.h'],
|
||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@'],
|
||||
)
|
||||
output: ['fcalias.h', 'fcaliastail.h'],
|
||||
input: ['fontconfig/fontconfig.h', 'src/fcdeprecate.h', 'fontconfig/fcprivate.h'],
|
||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@'],
|
||||
)
|
||||
|
||||
ft_alias_headers = custom_target('ft_alias_headers',
|
||||
output: ['fcftalias.h', 'fcftaliastail.h'],
|
||||
input: ['fontconfig/fcfreetype.h'],
|
||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@']
|
||||
)
|
||||
output: ['fcftalias.h', 'fcftaliastail.h'],
|
||||
input: ['fontconfig/fcfreetype.h'],
|
||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@']
|
||||
)
|
||||
|
||||
tools_man_pages = []
|
||||
|
||||
|
@ -434,14 +420,14 @@ endif
|
|||
configure_file(output: 'config.h', configuration: conf)
|
||||
|
||||
configure_file(output: 'fonts.conf',
|
||||
input: 'fonts.conf.in',
|
||||
configuration: fonts_conf,
|
||||
install_dir: fc_baseconfigdir,
|
||||
install: true)
|
||||
input: 'fonts.conf.in',
|
||||
configuration: fonts_conf,
|
||||
install_dir: fc_baseconfigdir,
|
||||
install: true)
|
||||
|
||||
install_data('fonts.dtd',
|
||||
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'xml/fontconfig')
|
||||
)
|
||||
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'xml/fontconfig')
|
||||
)
|
||||
|
||||
fc_headers = [
|
||||
'fontconfig/fontconfig.h',
|
||||
|
@ -455,21 +441,20 @@ install_headers(fc_headers, subdir: meson.project_name())
|
|||
doc_targets = get_variable('doc_targets', [])
|
||||
|
||||
summary({
|
||||
'Documentation': (doc_targets.length() > 0 ? doc_targets : false),
|
||||
'NLS': not get_option('nls').disabled(),
|
||||
'Tests': not get_option('tests').disabled(),
|
||||
'Tools': not get_option('tools').disabled(),
|
||||
'iconv': found_iconv == 1,
|
||||
}, section: 'General', bool_yn: true, list_sep: ', ')
|
||||
'Documentation': (doc_targets.length() > 0 ? doc_targets : false),
|
||||
'NLS': not get_option('nls').disabled(),
|
||||
'Tests': not get_option('tests').disabled(),
|
||||
'Tools': not get_option('tools').disabled(),
|
||||
}, section: 'General', bool_yn: true, list_sep: ', ')
|
||||
summary({
|
||||
'Hinting': preferred_hinting,
|
||||
'Font directories': fc_fonts_paths,
|
||||
'Additional font directories': fc_add_fonts,
|
||||
}, section: 'Defaults', bool_yn: true, list_sep: ', ')
|
||||
'Hinting': preferred_hinting,
|
||||
'Font directories': fc_fonts_paths,
|
||||
'Additional font directories': fc_add_fonts,
|
||||
}, section: 'Defaults', bool_yn: true, list_sep: ', ')
|
||||
summary({
|
||||
'Cache directory': fc_cachedir,
|
||||
'Template directory': fc_templatedir,
|
||||
'Base config directory': fc_baseconfigdir,
|
||||
'Config directory': fc_configdir,
|
||||
'XML directory': fc_xmldir,
|
||||
}, section: 'Paths', bool_yn: true, list_sep: ', ')
|
||||
'Cache directory': fc_cachedir,
|
||||
'Template directory': fc_templatedir,
|
||||
'Base config directory': fc_baseconfigdir,
|
||||
'Config directory': fc_configdir,
|
||||
'XML directory': fc_xmldir,
|
||||
}, section: 'Paths', bool_yn: true, list_sep: ', ')
|
||||
|
|
|
@ -13,7 +13,6 @@ option('tools', type : 'feature', value : 'auto', yield : true,
|
|||
description: 'Build command-line tools (fc-list, fc-query, etc.)')
|
||||
option('cache-build', type : 'feature', value : 'enabled',
|
||||
description: 'Run fc-cache on install')
|
||||
option('iconv', type: 'feature', value: 'disabled')
|
||||
|
||||
# Defaults
|
||||
option('default-hinting', type: 'combo', choices: ['none', 'slight', 'medium', 'full'], value: 'slight',
|
||||
|
|
|
@ -147,6 +147,10 @@ FcConfigCreate (void)
|
|||
if (!config->configDirs)
|
||||
goto bail1;
|
||||
|
||||
config->configMapDirs = FcStrSetCreate();
|
||||
if (!config->configMapDirs)
|
||||
goto bail1_5;
|
||||
|
||||
config->configFiles = FcStrSetCreate ();
|
||||
if (!config->configFiles)
|
||||
goto bail2;
|
||||
|
@ -226,6 +230,8 @@ bail4:
|
|||
bail3:
|
||||
FcStrSetDestroy (config->configFiles);
|
||||
bail2:
|
||||
FcStrSetDestroy (config->configMapDirs);
|
||||
bail1_5:
|
||||
FcStrSetDestroy (config->configDirs);
|
||||
bail1:
|
||||
free (config);
|
||||
|
@ -364,6 +370,7 @@ FcConfigDestroy (FcConfig *config)
|
|||
(void) fc_atomic_ptr_cmpexch (&_fcConfig, config, NULL);
|
||||
|
||||
FcStrSetDestroy (config->configDirs);
|
||||
FcStrSetDestroy (config->configMapDirs);
|
||||
FcStrSetDestroy (config->fontDirs);
|
||||
FcStrSetDestroy (config->cacheDirs);
|
||||
FcStrSetDestroy (config->configFiles);
|
||||
|
@ -2275,8 +2282,8 @@ FcConfigSubstituteWithPat (FcConfig *config,
|
|||
printf ("FcConfigSubstitute done");
|
||||
FcPatternPrint (p);
|
||||
}
|
||||
FamilyTableClear (&data);
|
||||
bail1:
|
||||
FamilyTableClear (&data);
|
||||
if (elt)
|
||||
free (elt);
|
||||
if (value)
|
||||
|
|
|
@ -228,9 +228,8 @@ FcRandom(void)
|
|||
#elif HAVE_LRAND48
|
||||
result = lrand48 ();
|
||||
#elif HAVE_RAND_R
|
||||
static unsigned int seed;
|
||||
static unsigned int seed = time (NULL);
|
||||
|
||||
seed = time (NULL);
|
||||
result = rand_r (&seed);
|
||||
#elif HAVE_RAND
|
||||
static FcBool initialized = FcFalse;
|
||||
|
|
22
src/fcdir.c
22
src/fcdir.c
|
@ -201,7 +201,7 @@ FcDirScanConfig (FcFontSet *set,
|
|||
DIR *d;
|
||||
struct dirent *e;
|
||||
FcStrSet *files;
|
||||
FcChar8 *file_prefix = NULL, *s_dir = NULL;
|
||||
FcChar8 *file_prefix, *s_dir = NULL;
|
||||
FcChar8 *base;
|
||||
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
|
||||
FcBool ret = FcTrue;
|
||||
|
@ -213,6 +213,16 @@ FcDirScanConfig (FcFontSet *set,
|
|||
if (!set && !dirs)
|
||||
return FcTrue;
|
||||
|
||||
/* freed below */
|
||||
file_prefix = (FcChar8 *) malloc (strlen ((char *) dir) + 1 + FC_MAX_FILE_LEN + 1);
|
||||
if (!file_prefix) {
|
||||
ret = FcFalse;
|
||||
goto bail;
|
||||
}
|
||||
strcpy ((char *) file_prefix, (char *) dir);
|
||||
strcat ((char *) file_prefix, FC_DIR_SEPARATOR_S);
|
||||
base = file_prefix + strlen ((char *) file_prefix);
|
||||
|
||||
if (sysroot)
|
||||
s_dir = FcStrBuildFilename (sysroot, dir, NULL);
|
||||
else
|
||||
|
@ -222,16 +232,6 @@ FcDirScanConfig (FcFontSet *set,
|
|||
goto bail;
|
||||
}
|
||||
|
||||
/* freed below */
|
||||
file_prefix = (FcChar8 *) malloc (strlen ((char *) s_dir) + 1 + FC_MAX_FILE_LEN + 1);
|
||||
if (!file_prefix) {
|
||||
ret = FcFalse;
|
||||
goto bail;
|
||||
}
|
||||
strcpy ((char *) file_prefix, (char *) s_dir);
|
||||
strcat ((char *) file_prefix, FC_DIR_SEPARATOR_S);
|
||||
base = file_prefix + strlen ((char *) file_prefix);
|
||||
|
||||
if (FcDebug () & FC_DBG_SCAN)
|
||||
printf ("\tScanning dir %s\n", s_dir);
|
||||
|
||||
|
|
141
src/fcfreetype.c
141
src/fcfreetype.c
|
@ -27,7 +27,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#include FT_ADVANCES_H
|
||||
|
@ -93,7 +92,7 @@ static const FcFtEncoding fcFtEncoding[] = {
|
|||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS, "UTF-16BE" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS, "UTF-16BE" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_SJIS, "SJIS-WIN" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_PRC, "GB18030" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_GB2312, "GB2312" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_BIG_5, "BIG-5" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_WANSUNG, "Wansung" },
|
||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_JOHAB, "Johab" },
|
||||
|
@ -699,7 +698,6 @@ FcSfntNameTranscode (FT_SfntName *sname)
|
|||
iconv_t cd;
|
||||
#endif
|
||||
FcChar8 *utf8;
|
||||
FcBool redecoded = FcFalse;
|
||||
|
||||
for (i = 0; i < NUM_FC_FT_ENCODING; i++)
|
||||
if (fcFtEncoding[i].platform_id == sname->platform_id &&
|
||||
|
@ -710,7 +708,6 @@ FcSfntNameTranscode (FT_SfntName *sname)
|
|||
return 0;
|
||||
fromcode = fcFtEncoding[i].fromcode;
|
||||
|
||||
retry:
|
||||
/*
|
||||
* Many names encoded for TT_PLATFORM_MACINTOSH are broken
|
||||
* in various ways. Kludge around them.
|
||||
|
@ -722,10 +719,6 @@ retry:
|
|||
{
|
||||
fromcode = "SJIS";
|
||||
}
|
||||
else if (sname->language_id == TT_MAC_LANGID_JAPANESE)
|
||||
{
|
||||
fromcode = "SJIS";
|
||||
}
|
||||
else if (sname->language_id >= 0x100)
|
||||
{
|
||||
/*
|
||||
|
@ -755,7 +748,7 @@ retry:
|
|||
int ilen, olen;
|
||||
FcChar8 *u8;
|
||||
FcChar32 ucs4;
|
||||
|
||||
|
||||
/*
|
||||
* Convert Utf16 to Utf8
|
||||
*/
|
||||
|
@ -789,7 +782,7 @@ retry:
|
|||
int olen;
|
||||
FcChar8 *u8;
|
||||
FcChar32 ucs4;
|
||||
|
||||
|
||||
/*
|
||||
* Convert Latin1 to Utf8. Freed below
|
||||
*/
|
||||
|
@ -844,17 +837,17 @@ retry:
|
|||
size_t in_bytes_left = sname->string_len;
|
||||
size_t out_bytes_left = sname->string_len * FC_UTF8_MAX_LEN;
|
||||
char *inbuf, *outbuf;
|
||||
|
||||
|
||||
utf8 = malloc (out_bytes_left + 1);
|
||||
if (!utf8)
|
||||
{
|
||||
iconv_close (cd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
outbuf = (char *) utf8;
|
||||
inbuf = (char *) sname->string;
|
||||
|
||||
|
||||
while (in_bytes_left)
|
||||
{
|
||||
size_t did = iconv (cd,
|
||||
|
@ -864,13 +857,6 @@ retry:
|
|||
{
|
||||
iconv_close (cd);
|
||||
free (utf8);
|
||||
if (!redecoded)
|
||||
{
|
||||
/* Regard the encoding as UTF-16BE and try again. */
|
||||
redecoded = FcTrue;
|
||||
fromcode = "UTF-16BE";
|
||||
goto retry;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -878,14 +864,6 @@ retry:
|
|||
*outbuf = '\0';
|
||||
goto done;
|
||||
}
|
||||
#else
|
||||
if (!redecoded)
|
||||
{
|
||||
/* Regard the encoding as UTF-16BE and try again. */
|
||||
redecoded = FcTrue;
|
||||
fromcode = "UTF-16BE";
|
||||
goto retry;
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
done:
|
||||
|
@ -1226,7 +1204,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
int spacing;
|
||||
|
||||
/* Support for glyph-variation named-instances. */
|
||||
FT_MM_Var *mmvar = NULL;
|
||||
FT_MM_Var *master = NULL;
|
||||
FT_Var_Named_Style *instance = NULL;
|
||||
double weight_mult = 1.0;
|
||||
double width_mult = 1.0;
|
||||
|
@ -1280,7 +1258,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
goto bail1;
|
||||
}
|
||||
|
||||
ftresult = FT_Get_MM_Var (face, &mmvar);
|
||||
ftresult = FT_Get_MM_Var (face, &master);
|
||||
|
||||
if (id >> 16)
|
||||
{
|
||||
|
@ -1291,17 +1269,17 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
{
|
||||
/* Query variable font itself. */
|
||||
unsigned int i;
|
||||
for (i = 0; i < mmvar->num_axis; i++)
|
||||
for (i = 0; i < master->num_axis; i++)
|
||||
{
|
||||
double min_value = mmvar->axis[i].minimum / (double) (1U << 16);
|
||||
double def_value = mmvar->axis[i].def / (double) (1U << 16);
|
||||
double max_value = mmvar->axis[i].maximum / (double) (1U << 16);
|
||||
double min_value = master->axis[i].minimum / (double) (1U << 16);
|
||||
double def_value = master->axis[i].def / (double) (1U << 16);
|
||||
double max_value = master->axis[i].maximum / (double) (1U << 16);
|
||||
FcObject obj = FC_INVALID_OBJECT;
|
||||
|
||||
if (min_value > def_value || def_value > max_value || min_value == max_value)
|
||||
continue;
|
||||
|
||||
switch (mmvar->axis[i].tag)
|
||||
switch (master->axis[i].tag)
|
||||
{
|
||||
case FT_MAKE_TAG ('w','g','h','t'):
|
||||
obj = FC_WEIGHT_OBJECT;
|
||||
|
@ -1343,20 +1321,20 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
|
||||
id &= 0xFFFF;
|
||||
}
|
||||
else if ((id >> 16) - 1 < mmvar->num_namedstyles)
|
||||
else if ((id >> 16) - 1 < master->num_namedstyles)
|
||||
{
|
||||
/* Pull out weight and width from named-instance. */
|
||||
unsigned int i;
|
||||
|
||||
instance = &mmvar->namedstyle[(id >> 16) - 1];
|
||||
instance = &master->namedstyle[(id >> 16) - 1];
|
||||
|
||||
for (i = 0; i < mmvar->num_axis; i++)
|
||||
for (i = 0; i < master->num_axis; i++)
|
||||
{
|
||||
double value = instance->coords[i] / (double) (1U << 16);
|
||||
double default_value = mmvar->axis[i].def / (double) (1U << 16);
|
||||
double default_value = master->axis[i].def / (double) (1U << 16);
|
||||
double mult = default_value ? value / default_value : 1;
|
||||
//printf ("named-instance, axis %d tag %lx value %g\n", i, mmvar->axis[i].tag, value);
|
||||
switch (mmvar->axis[i].tag)
|
||||
//printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
|
||||
switch (master->axis[i].tag)
|
||||
{
|
||||
case FT_MAKE_TAG ('w','g','h','t'):
|
||||
weight_mult = mult;
|
||||
|
@ -1381,12 +1359,12 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
if (!ftresult)
|
||||
{
|
||||
unsigned int i;
|
||||
for (i = 0; i < mmvar->num_axis; i++)
|
||||
for (i = 0; i < master->num_axis; i++)
|
||||
{
|
||||
switch (mmvar->axis[i].tag)
|
||||
switch (master->axis[i].tag)
|
||||
{
|
||||
case FT_MAKE_TAG ('o','p','s','z'):
|
||||
if (!FcPatternObjectAddDouble (pat, FC_SIZE_OBJECT, mmvar->axis[i].def / (double) (1U << 16)))
|
||||
if (!FcPatternObjectAddDouble (pat, FC_SIZE_OBJECT, master->axis[i].def / (double) (1U << 16)))
|
||||
goto bail1;
|
||||
variable_size = FcTrue;
|
||||
break;
|
||||
|
@ -1512,7 +1490,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
case TT_NAME_ID_WWS_FAMILY:
|
||||
case TT_NAME_ID_TYPOGRAPHIC_FAMILY:
|
||||
case TT_NAME_ID_FONT_FAMILY:
|
||||
#if 0
|
||||
#if 0
|
||||
case TT_NAME_ID_UNIQUE_ID:
|
||||
#endif
|
||||
if (FcDebug () & FC_DBG_SCANV)
|
||||
|
@ -1672,7 +1650,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
{
|
||||
FcChar8 *start, *end;
|
||||
FcChar8 *family;
|
||||
|
||||
|
||||
start = (FcChar8 *) strrchr ((char *) file, '/');
|
||||
if (start)
|
||||
start++;
|
||||
|
@ -1993,7 +1971,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
prop.type == BDF_PROPERTY_TYPE_CARDINAL))
|
||||
{
|
||||
FT_Int32 value;
|
||||
|
||||
|
||||
if (prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||
value = prop.u.integer;
|
||||
else
|
||||
|
@ -2185,9 +2163,6 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
if (!FcPatternObjectAddBool (pat, FC_ANTIALIAS_OBJECT, FcFalse))
|
||||
goto bail2;
|
||||
}
|
||||
|
||||
FcChar8* wrapper = NULL;
|
||||
|
||||
#if HAVE_FT_GET_X11_FONT_FORMAT
|
||||
/*
|
||||
* Use the (not well documented or supported) X-specific function
|
||||
|
@ -2196,45 +2171,11 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
{
|
||||
const char *font_format = FT_Get_X11_Font_Format (face);
|
||||
if (font_format)
|
||||
{
|
||||
if (!FcPatternObjectAddString (pat, FC_FONTFORMAT_OBJECT, (FcChar8 *) font_format))
|
||||
goto bail2;
|
||||
|
||||
/* If this is not a SFNT font and format is CFF, then it is a standlone CFF font */
|
||||
if (!FT_IS_SFNT (face) && !strcmp (font_format, "CFF"))
|
||||
wrapper = (FcChar8*) "CFF";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!FcPatternObjectAddBool (pat, FC_NAMED_INSTANCE_OBJECT, !!(id > 0xffff)))
|
||||
goto bail2;
|
||||
|
||||
if (FT_IS_SFNT (face))
|
||||
{
|
||||
/* If this is an SFNT wrapper, try to sniff the SFNT tag which is the
|
||||
* first 4 bytes, to see if it is a WOFF or WOFF2 wrapper. */
|
||||
wrapper = (FcChar8*) "SFNT";
|
||||
|
||||
char buf[4];
|
||||
int fd = FcOpen ((char *) file, O_RDONLY);
|
||||
if (fd != -1 && read (fd, buf, 4))
|
||||
{
|
||||
if (buf[0] == 'w' && buf[1] == 'O' && buf[2] == 'F')
|
||||
{
|
||||
if (buf[3] == 'F')
|
||||
wrapper = (FcChar8*) "WOFF";
|
||||
else if (buf[3] == '2')
|
||||
wrapper = (FcChar8*) "WOFF2";
|
||||
}
|
||||
}
|
||||
close (fd);
|
||||
}
|
||||
|
||||
if (wrapper)
|
||||
if (!FcPatternObjectAddString (pat, FC_FONT_WRAPPER_OBJECT, wrapper))
|
||||
goto bail2;
|
||||
|
||||
/*
|
||||
* Drop our reference to the charset
|
||||
*/
|
||||
|
@ -2242,13 +2183,13 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
|||
if (foundry_)
|
||||
free (foundry_);
|
||||
|
||||
if (mmvar)
|
||||
if (master)
|
||||
{
|
||||
#ifdef HAVE_FT_DONE_MM_VAR
|
||||
if (face->glyph)
|
||||
FT_Done_MM_Var (face->glyph->library, mmvar);
|
||||
FT_Done_MM_Var (face->glyph->library, master);
|
||||
#else
|
||||
free (mmvar);
|
||||
free (master);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -2258,13 +2199,13 @@ bail2:
|
|||
FcCharSetDestroy (cs);
|
||||
bail1:
|
||||
FcPatternDestroy (pat);
|
||||
if (mmvar)
|
||||
if (master)
|
||||
{
|
||||
#ifdef HAVE_FT_DONE_MM_VAR
|
||||
if (face->glyph)
|
||||
FT_Done_MM_Var (face->glyph->library, mmvar);
|
||||
FT_Done_MM_Var (face->glyph->library, master);
|
||||
#else
|
||||
free (mmvar);
|
||||
free (master);
|
||||
#endif
|
||||
}
|
||||
if (!nm_share && name_mapping)
|
||||
|
@ -2409,26 +2350,12 @@ skip:
|
|||
cs = NULL;
|
||||
FT_Done_Face (face);
|
||||
face = NULL;
|
||||
#ifdef HAVE_FT_DONE_MM_VAR
|
||||
FT_Done_MM_Var (ftLibrary, mm_var);
|
||||
#else
|
||||
free (mm_var);
|
||||
#endif
|
||||
mm_var = NULL;
|
||||
|
||||
face_num++;
|
||||
instance_num = set_instance_num;
|
||||
|
||||
if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
|
||||
break;
|
||||
|
||||
num_instances = face->style_flags >> 16;
|
||||
if (num_instances && (!index_set || instance_num))
|
||||
{
|
||||
FT_Get_MM_Var (face, &mm_var);
|
||||
if (!mm_var)
|
||||
num_instances = 0;
|
||||
}
|
||||
}
|
||||
} while (!err && (!index_set || face_num == set_face_num) && face_num < num_faces);
|
||||
|
||||
|
@ -2716,7 +2643,7 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks FC_UNUSED, int *spac
|
|||
#define FcIsSpace(x) (040 == (x))
|
||||
#define FcIsDigit(c) (('0' <= (c) && (c) <= '9'))
|
||||
#define FcIsValidScript(x) (FcIsLower(x) || FcIsUpper (x) || FcIsDigit(x) || FcIsSpace(x))
|
||||
|
||||
|
||||
static void
|
||||
addtag(FcChar8 *complex_, FT_ULong tag)
|
||||
{
|
||||
|
@ -2835,9 +2762,9 @@ GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags)
|
|||
goto Fail;
|
||||
|
||||
/* sort the tag list before returning it */
|
||||
qsort(*stags, p, sizeof(FT_ULong), compareulong);
|
||||
qsort(*stags, script_count, sizeof(FT_ULong), compareulong);
|
||||
|
||||
return p;
|
||||
return script_count;
|
||||
|
||||
Fail:
|
||||
free(*stags);
|
||||
|
|
|
@ -408,8 +408,8 @@ typedef struct _FcStrBuf {
|
|||
|
||||
typedef struct _FcHashTable FcHashTable;
|
||||
|
||||
typedef FcChar32 (* FcHashFunc) (const FcChar8 *data);
|
||||
typedef int (* FcCompareFunc) (const FcChar8 *v1, const FcChar8 *v2);
|
||||
typedef FcChar32 (* FcHashFunc) (const void *data);
|
||||
typedef int (* FcCompareFunc) (const void *v1, const void *v2);
|
||||
typedef FcBool (* FcCopyFunc) (const void *src, void **dest);
|
||||
|
||||
|
||||
|
@ -524,6 +524,7 @@ struct _FcConfig {
|
|||
* and those directives may occur in any order
|
||||
*/
|
||||
FcStrSet *configDirs; /* directories to scan for fonts */
|
||||
FcStrSet *configMapDirs; /* mapped names to generate cache entries */
|
||||
/*
|
||||
* List of directories containing fonts,
|
||||
* built by recursively scanning the set
|
||||
|
|
|
@ -322,10 +322,8 @@ typedef enum _FcMatcherPriorityDummy {
|
|||
|
||||
typedef enum _FcMatcherPriority {
|
||||
PRI1(FILE),
|
||||
PRI1(FONT_WRAPPER),
|
||||
PRI1(FONTFORMAT),
|
||||
PRI1(VARIABLE),
|
||||
PRI1(NAMED_INSTANCE),
|
||||
PRI1(SCALABLE),
|
||||
PRI1(COLOR),
|
||||
PRI1(FOUNDRY),
|
||||
|
@ -1245,7 +1243,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
|
|||
FcPatternGet (p, FC_LANG, nPatternLang, &patternLang) == FcResultMatch;
|
||||
nPatternLang++)
|
||||
;
|
||||
|
||||
|
||||
/* freed below */
|
||||
nodes = malloc (nnodes * sizeof (FcSortNode) +
|
||||
nnodes * sizeof (FcSortNode *) +
|
||||
|
@ -1311,7 +1309,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
|
|||
for (i = 0; i < nPatternLang; i++)
|
||||
{
|
||||
FcValue nodeLang;
|
||||
|
||||
|
||||
if (!patternLangSat[i] &&
|
||||
FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
|
||||
FcPatternGet (nodeps[f]->pattern, FC_LANG, 0, &nodeLang) == FcResultMatch)
|
||||
|
|
|
@ -75,6 +75,4 @@ FC_OBJECT (VARIABLE, FcTypeBool, FcCompareBool)
|
|||
FC_OBJECT (FONT_HAS_HINT, FcTypeBool, FcCompareBool)
|
||||
FC_OBJECT (ORDER, FcTypeInteger, FcCompareNumber)
|
||||
FC_OBJECT (DESKTOP_NAME, FcTypeString, NULL)
|
||||
FC_OBJECT (NAMED_INSTANCE, FcTypeBool, FcCompareBool)
|
||||
FC_OBJECT (FONT_WRAPPER, FcTypeString, FcCompareString)
|
||||
/* ^-------------- Add new objects here. */
|
||||
|
|
|
@ -3689,10 +3689,7 @@ bail0:
|
|||
if (realfilename)
|
||||
FcStrFree (realfilename);
|
||||
if (!complain)
|
||||
{
|
||||
FcStrBufDestroy (&reason);
|
||||
return FcTrue;
|
||||
}
|
||||
if (!ret && complain_again)
|
||||
{
|
||||
if (name)
|
||||
|
|
|
@ -31,10 +31,12 @@ fc_sources = [
|
|||
|
||||
# FIXME: obviously fragile, cc.preprocess would be sweet
|
||||
cpp = cc.cmd_array()
|
||||
if cc.get_argument_syntax() == 'gcc'
|
||||
if cc.get_id() == 'gcc'
|
||||
cpp += ['-E', '-P']
|
||||
elif cc.get_argument_syntax() == 'msvc'
|
||||
elif cc.get_id() == 'msvc'
|
||||
cpp += ['/EP']
|
||||
elif cc.get_id() == 'clang'
|
||||
cpp += ['-E', '-P']
|
||||
else
|
||||
error('FIXME: implement cc.preprocess')
|
||||
endif
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
#! /bin/sh
|
||||
# -*- sh -*-
|
||||
# Copyright (C) 2023 fontconfig Authors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set -e
|
||||
|
||||
: "${TMPDIR=/tmp}"
|
||||
|
||||
case "$OSTYPE" in
|
||||
msys ) MyPWD=$(pwd -W) ;; # On Msys/MinGW, returns a MS Windows style path.
|
||||
* ) MyPWD=$(pwd) ;; # On any other platforms, returns a Unix style path.
|
||||
esac
|
||||
|
||||
TESTDIR=${srcdir-"$MyPWD"}
|
||||
BUILDTESTDIR=${builddir-"$MyPWD"}
|
||||
|
||||
BASEDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
FONTDIR="$BASEDIR"/fonts
|
||||
CACHEDIR="$BASEDIR"/cache.dir
|
||||
EXPECTED=${EXPECTED-"out.expected"}
|
||||
|
||||
FCLIST="$LOG_COMPILER ../../fc-list/fc-list$EXEEXT"
|
||||
FCCACHE="$LOG_COMPILER ../../fc-cache/fc-cache$EXEEXT"
|
||||
FCMATCH="$LOG_COMPILER ../../fc-match/fc-match$EXEEXT"
|
||||
|
||||
if [ -x "$(command -v bwrap)" ]; then
|
||||
BWRAP="$(command -v bwrap)"
|
||||
fi
|
||||
|
||||
FONT1=$TESTDIR/../4x6.pcf
|
||||
FONT2=$TESTDIR/../8x16.pcf
|
||||
TEST=""
|
||||
|
||||
clean_exit() {
|
||||
rc=$?
|
||||
trap - INT TERM ABRT EXIT
|
||||
if [ "x$TEST" != "x" ]; then
|
||||
echo "Aborting from '$TEST' with the exit code $rc"
|
||||
fi
|
||||
rm -rf $BASEDIR
|
||||
exit $rc
|
||||
}
|
||||
trap clean_exit INT TERM ABRT EXIT
|
||||
|
||||
prep() {
|
||||
rm -rf "$CACHEDIR"
|
||||
rm -rf "$FONTDIR"
|
||||
mkdir "$FONTDIR"
|
||||
}
|
||||
|
||||
dotest () {
|
||||
TEST=$1
|
||||
test x"$VERBOSE" = x || echo "Running: $TEST"
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
#! /bin/sh
|
||||
# -*- sh -*-
|
||||
# Copyright (C) 2023 fontconfig Authors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
. $(dirname $0)/functions
|
||||
|
||||
dotest "Remap - same family name but different filename"
|
||||
prep
|
||||
|
||||
TESTRESULT1=$(mktemp "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTRESULT2=$(mktemp "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTRESULT3=$(mktemp "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTFONT1DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTFONT2DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTCACHE1DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTCACHE2DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTBUILD1DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTBUILD2DIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
TESTRUNDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
|
||||
mkdir -p "$TESTBUILD1DIR"/build
|
||||
mkdir -p "$TESTBUILD2DIR"/build
|
||||
mkdir -p "$TESTRUNDIR"/fonts
|
||||
mkdir -p "$TESTRUNDIR"/fonts-cache
|
||||
cp "$FONT1" "$TESTFONT1DIR"/foo.pcf
|
||||
cp "$FONT1" "$TESTFONT2DIR"/bar.pcf
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTFONT1DIR"
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTFONT1DIR"/*
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTFONT2DIR"
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTFONT2DIR"/*
|
||||
|
||||
cat<<_EOF_>>"$TESTBUILD1DIR"/fonts.conf
|
||||
<fontconfig>
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<cachedir>/usr/lib/fontconfig/cache</cachedir>
|
||||
</fontconfig>
|
||||
_EOF_
|
||||
cat<<_EOF_>>"$TESTBUILD2DIR"/fonts.conf
|
||||
<fontconfig>
|
||||
<dir salt="flatpak">/usr/share/fonts</dir>
|
||||
<cachedir>/usr/lib/fontconfig/cache</cachedir>
|
||||
</fontconfig>
|
||||
_EOF_
|
||||
cat<<_EOF_>>"$TESTBUILD2DIR"/bind-fonts.conf
|
||||
<fontconfig>
|
||||
<dir salt="flatpak">/usr/share/fonts</dir>
|
||||
<dir>$TESTRUNDIR/fonts</dir>
|
||||
<cachedir>/usr/lib/fontconfig/cache</cachedir>
|
||||
<cachedir>$TESTRUNDIR/fonts-cache</cachedir>
|
||||
|
||||
<remap-dir as-path="/usr/share/fonts">$TESTRUNDIR/fonts</remap-dir>
|
||||
</fontconfig>
|
||||
_EOF_
|
||||
|
||||
# Generate host caches
|
||||
$BWRAP --bind / / --bind "$TESTCACHE1DIR" /usr/lib/fontconfig/cache --bind "$TESTFONT1DIR" /usr/share/fonts --bind "$TESTBUILD1DIR" /usr/share/fontconfig --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD1DIR"/fonts.conf $FCCACHE
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTCACHE1DIR"
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTCACHE1DIR"/*
|
||||
$BWRAP --bind / / --bind "$TESTCACHE1DIR" /usr/lib/fontconfig/cache --bind "$TESTFONT1DIR" /usr/share/fonts --bind "$TESTBUILD1DIR" /usr/share/fontconfig --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD1DIR"/fonts.conf $FCMATCH Fixed file > "$TESTRESULT1"
|
||||
|
||||
if grep foo.pcf "$TESTRESULT1" > /dev/null; then : ; else
|
||||
echo "*** Test failed: $TEST"
|
||||
echo "file property doesn't point to the expected file."
|
||||
cat "$TESTRESULT1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Generate runtime caches
|
||||
$BWRAP --bind / / --bind "$TESTCACHE2DIR" /usr/lib/fontconfig/cache --bind "$TESTFONT2DIR" /usr/share/fonts --bind "$TESTBUILD2DIR" /usr/share/fontconfig --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD2DIR"/fonts.conf $FCCACHE
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTCACHE2DIR"
|
||||
touch -m -t $(date -d @0 +%y%m%d%H%M.%S) "$TESTCACHE2DIR"/*
|
||||
$BWRAP --bind / / --bind "$TESTCACHE2DIR" /usr/lib/fontconfig/cache --bind "$TESTFONT2DIR" /usr/share/fonts --bind "$TESTBUILD2DIR" /usr/share/fontconfig --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD2DIR"/fonts.conf $FCMATCH Fixed file > "$TESTRESULT2"
|
||||
|
||||
if grep bar.pcf "$TESTRESULT2" > /dev/null; then : ; else
|
||||
echo "*** Test failed: $TEST"
|
||||
echo "file property doesn't point to the expected file."
|
||||
cat "$TESTRESULT2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ask for fonts on similar environemnt to flatpak
|
||||
$BWRAP --bind / / --ro-bind "$TESTCACHE2DIR" /usr/lib/fontconfig/cache --ro-bind "$TESTFONT2DIR" /usr/share/fonts --bind "$TESTBUILD2DIR" /usr/share/fontconfig --ro-bind "$TESTRUNDIR" "$TESTRUNDIR" --ro-bind "$TESTCACHE1DIR" "$TESTRUNDIR"/fonts-cache --ro-bind "$TESTFONT1DIR" "$TESTRUNDIR"/fonts --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD2DIR"/bind-fonts.conf $FCMATCH Fixed file > "$TESTRESULT3"
|
||||
$BWRAP --bind / / --ro-bind "$TESTCACHE2DIR" /usr/lib/fontconfig/cache --ro-bind "$TESTFONT2DIR" /usr/share/fonts --bind "$TESTBUILD2DIR" /usr/share/fontconfig --ro-bind "$TESTRUNDIR" "$TESTRUNDIR" --ro-bind "$TESTCACHE1DIR" "$TESTRUNDIR"/fonts-cache --ro-bind "$TESTFONT1DIR" "$TESTRUNDIR"/fonts --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTBUILD2DIR"/bind-fonts.conf ls $(sed 's/:file=//' "$TESTRESULT3") > /dev/null
|
||||
|
||||
# Check the amount of cache files
|
||||
if [ $(ls "$TESTCACHE1DIR"|wc -l) == 2 ]; then : ; else
|
||||
echo "*** Test failed: $TEST"
|
||||
echo "Too much cache files created at host cache dir."
|
||||
ls "$TESTCACHE1DIR"
|
||||
exit 1
|
||||
fi
|
||||
if [ $(ls "$TESTCACHE2DIR"|wc -l) == 2 ]; then : ; else
|
||||
echo "*** Test failed: $TEST"
|
||||
echo "Too much cache files created at runtime cache dir."
|
||||
ls "$TESTCACHE2DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf "$TESTFONT1DIR" "$TESTFONT2DIR" "$TESTCACHE1DIR" "$TESTCACHE2DIR" "$TESTBUILD1DIR" "$TESTBUILD2DIR"
|
||||
rm -f "$TESTRESULT1" "$TESTRESULT2"
|
||||
|
||||
TEST=""
|
||||
|
||||
echo "Success."
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
struct _FcConfig {
|
||||
FcStrSet *configDirs; /* directories to scan for fonts */
|
||||
FcStrSet *configMapDirs;
|
||||
FcStrSet *fontDirs;
|
||||
FcStrSet *cacheDirs;
|
||||
FcStrSet *configFiles; /* config files loaded */
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
{
|
||||
"fonts": [
|
||||
{
|
||||
"family": [
|
||||
"Foo"
|
||||
],
|
||||
"style": [
|
||||
"Regular"
|
||||
],
|
||||
"file": "/path/to/Foo-VF.otf",
|
||||
"index": 1,
|
||||
"namedinstance": false,
|
||||
"fontversion": 1
|
||||
},
|
||||
{
|
||||
"family": [
|
||||
"Foo",
|
||||
"Foo Bold"
|
||||
],
|
||||
"style": [
|
||||
"Bold",
|
||||
"Regular"
|
||||
],
|
||||
"file": "/path/to/Foo-VF.otf",
|
||||
"index": 65537,
|
||||
"namedinstance": true,
|
||||
"fontversion": 1
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"method": "match",
|
||||
"query": {
|
||||
"family": "Foo",
|
||||
"style": "Bold",
|
||||
"namedinstance": false
|
||||
},
|
||||
"result": {
|
||||
"family": "Foo",
|
||||
"style": "Regular",
|
||||
"file": "/path/to/Foo-VF.otf",
|
||||
"index": 1,
|
||||
"namedinstance": false,
|
||||
"fontversion": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "match",
|
||||
"query": {
|
||||
"family": "Foo",
|
||||
"style": "Bold",
|
||||
"namedinstance": true
|
||||
},
|
||||
"result": {
|
||||
"family": "Foo",
|
||||
"style": "Bold",
|
||||
"file": "/path/to/Foo-VF.otf",
|
||||
"index": 65537,
|
||||
"namedinstance": true,
|
||||
"fontversion": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue