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:
|
image: fedora:rawhide
|
||||||
|
|
||||||
#######################################
|
|
||||||
# #
|
|
||||||
# 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'
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- sanity check
|
- build
|
||||||
- prep
|
|
||||||
- test
|
|
||||||
- deploy
|
|
||||||
- container_clean
|
|
||||||
|
|
||||||
variables:
|
before_script:
|
||||||
FDO_UPSTREAM_REPO: fontconfig/fontconfig
|
- dnf -y upgrade --disablerepo=rawhide-modular --nogpgcheck fedora-repos fedora-repos-rawhide
|
||||||
GIT_DEPTH: 1
|
- 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
|
shared-build:
|
||||||
# changing these will force rebuilding the associated image
|
stage: build
|
||||||
# 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:
|
|
||||||
script:
|
script:
|
||||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||||
- export MAKEFLAGS="-j4"
|
- export MAKEFLAGS="-j4"
|
||||||
- |
|
- mkdir "$BUILDDIR" "$PREFIX"
|
||||||
buildopt=()
|
- cd "$BUILDDIR"
|
||||||
for bo in $FC_BUILD_ENABLED; do
|
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --enable-libxml2
|
||||||
buildopt+=(-e $bo)
|
- make
|
||||||
done
|
- make check
|
||||||
for bo in $FC_BUILD_DISABLED; do
|
- make install
|
||||||
buildopt+=(-d $bo)
|
- make distcheck
|
||||||
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:
|
artifacts:
|
||||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||||
when: always
|
when: always
|
||||||
expire_in: 5 days
|
|
||||||
paths:
|
paths:
|
||||||
- build*/fc-build.log
|
- build-*/fontconfig-*.tar.*
|
||||||
- build*/fontconfig-*.tar.*
|
- build-*/fontconfig*/_build/sub/*.log
|
||||||
- build*/test/*log
|
- build-*/fontconfig*/_build/sub/test/*.log
|
||||||
- build*/fontconfig*/_build
|
- build-*/fontconfig*/_build/sub/test/*.trs
|
||||||
- build*/meson-logs/*
|
- build-*/fontconfig*/_build/sub/test/out*
|
||||||
|
- build-*/*.log
|
||||||
#######################################
|
- build-*/test/*.log
|
||||||
# #
|
- build-*/test/*.trs
|
||||||
# test stage #
|
- build-*/test/out*
|
||||||
# #
|
- prefix-*
|
||||||
#######################################
|
static-build:
|
||||||
|
stage: build
|
||||||
|
|
||||||
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
|
|
||||||
script:
|
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:
|
artifacts:
|
||||||
when: on_failure
|
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||||
reports:
|
when: always
|
||||||
junit: results.xml
|
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
|
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 -->
|
<!-- Map specifics to generics -->
|
||||||
|
|
||||||
<!-- PostScript -->
|
<!-- PostScript -->
|
||||||
<alias binding="same">
|
|
||||||
<family>Helvetica LT Std</family>
|
|
||||||
<default>
|
|
||||||
<family>Helvetica</family>
|
|
||||||
</default>
|
|
||||||
</alias>
|
|
||||||
|
|
||||||
<alias binding="same">
|
<alias binding="same">
|
||||||
<family>Nimbus Sans L</family>
|
<family>Nimbus Sans L</family>
|
||||||
<default>
|
<default>
|
||||||
|
@ -116,13 +109,6 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
||||||
</default>
|
</default>
|
||||||
</alias>
|
</alias>
|
||||||
|
|
||||||
<alias binding="same">
|
|
||||||
<family>Courier Std</family>
|
|
||||||
<accept>
|
|
||||||
<family>Courier</family>
|
|
||||||
</accept>
|
|
||||||
</alias>
|
|
||||||
|
|
||||||
<alias binding="same">
|
<alias binding="same">
|
||||||
<family>Nimbus Mono L</family>
|
<family>Nimbus Mono L</family>
|
||||||
<default>
|
<default>
|
||||||
|
@ -509,13 +495,6 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
||||||
<!-- Map generics to specifics -->
|
<!-- Map generics to specifics -->
|
||||||
|
|
||||||
<!-- PostScript -->
|
<!-- PostScript -->
|
||||||
<alias binding="same">
|
|
||||||
<family>Helvetica</family>
|
|
||||||
<accept>
|
|
||||||
<family>Helvetica LT Std</family>
|
|
||||||
</accept>
|
|
||||||
</alias>
|
|
||||||
|
|
||||||
<alias binding="same">
|
<alias binding="same">
|
||||||
<family>Helvetica</family>
|
<family>Helvetica</family>
|
||||||
<accept>
|
<accept>
|
||||||
|
@ -545,9 +524,9 @@ NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
|
||||||
</alias>
|
</alias>
|
||||||
|
|
||||||
<alias binding="same">
|
<alias binding="same">
|
||||||
<family>Courier</family>
|
|
||||||
<accept>
|
|
||||||
<family>Courier Std</family>
|
<family>Courier Std</family>
|
||||||
|
<accept>
|
||||||
|
<family>Courier</family>
|
||||||
</accept>
|
</accept>
|
||||||
</alias>
|
</alias>
|
||||||
|
|
||||||
|
|
|
@ -125,10 +125,6 @@
|
||||||
<family>DejaVu Sans</family>
|
<family>DejaVu Sans</family>
|
||||||
<default><family>sans-serif</family></default>
|
<default><family>sans-serif</family></default>
|
||||||
</alias>
|
</alias>
|
||||||
<alias>
|
|
||||||
<family>Helvetica LT Std</family>
|
|
||||||
<default><family>sans-serif</family></default>
|
|
||||||
</alias>
|
|
||||||
<alias>
|
<alias>
|
||||||
<family>Helvetica</family>
|
<family>Helvetica</family>
|
||||||
<default><family>sans-serif</family></default>
|
<default><family>sans-serif</family></default>
|
||||||
|
@ -193,11 +189,11 @@
|
||||||
<default><family>monospace</family></default>
|
<default><family>monospace</family></default>
|
||||||
</alias>
|
</alias>
|
||||||
<alias>
|
<alias>
|
||||||
<family>Courier Std</family>
|
<family>Courier</family>
|
||||||
<default><family>monospace</family></default>
|
<default><family>monospace</family></default>
|
||||||
</alias>
|
</alias>
|
||||||
<alias>
|
<alias>
|
||||||
<family>Courier</family>
|
<family>Courier Std</family>
|
||||||
<default><family>monospace</family></default>
|
<default><family>monospace</family></default>
|
||||||
</alias>
|
</alias>
|
||||||
<alias>
|
<alias>
|
||||||
|
|
|
@ -33,10 +33,6 @@
|
||||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||||
<family>HanyiSong</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>MgOpen Canonica</family>
|
||||||
<family>Sazanami Mincho</family>
|
<family>Sazanami Mincho</family>
|
||||||
<family>IPAMonaMincho</family>
|
<family>IPAMonaMincho</family>
|
||||||
|
@ -50,7 +46,6 @@
|
||||||
<family>NanumMyeongjo</family> <!-- hangul (ko) -->
|
<family>NanumMyeongjo</family> <!-- hangul (ko) -->
|
||||||
<family>UnBatang</family> <!-- hangul (ko) -->
|
<family>UnBatang</family> <!-- hangul (ko) -->
|
||||||
<family>Baekmuk Batang</family> <!-- hangul (ko) -->
|
<family>Baekmuk Batang</family> <!-- hangul (ko) -->
|
||||||
<family>AppleMyungjo</family> <!-- hangul (ko) - macOS -->
|
|
||||||
<family>KacstQura</family>
|
<family>KacstQura</family>
|
||||||
<family>Frank Ruehl CLM</family>
|
<family>Frank Ruehl CLM</family>
|
||||||
<family>Lohit Bengali</family>
|
<family>Lohit Bengali</family>
|
||||||
|
@ -108,12 +103,6 @@
|
||||||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
<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 ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
|
||||||
<family>AR PL New Sung</family> <!-- han (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>MgOpen Modata</family>
|
||||||
<family>VL Gothic</family>
|
<family>VL Gothic</family>
|
||||||
<family>IPAMonaGothic</family>
|
<family>IPAMonaGothic</family>
|
||||||
|
@ -132,7 +121,6 @@
|
||||||
<family>UnDotum</family> <!-- hangul (ko) -->
|
<family>UnDotum</family> <!-- hangul (ko) -->
|
||||||
<family>Baekmuk Dotum</family> <!-- hangul (ko) -->
|
<family>Baekmuk Dotum</family> <!-- hangul (ko) -->
|
||||||
<family>Baekmuk Gulim</family> <!-- hangul (ko) -->
|
<family>Baekmuk Gulim</family> <!-- hangul (ko) -->
|
||||||
<family>Apple SD Gothic Neo</family> <!-- hangul (ko) - macOS -->
|
|
||||||
<family>KacstQura</family>
|
<family>KacstQura</family>
|
||||||
<family>Lohit Bengali</family>
|
<family>Lohit Bengali</family>
|
||||||
<family>Lohit Gujarati</family>
|
<family>Lohit Gujarati</family>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<selectfont>
|
<selectfont>
|
||||||
<rejectfont>
|
<rejectfont>
|
||||||
<pattern>
|
<pattern>
|
||||||
<patelt name="outline"><bool>false</bool></patelt>
|
<patelt name="scalable"><bool>false</bool></patelt>
|
||||||
</pattern>
|
</pattern>
|
||||||
</rejectfont>
|
</rejectfont>
|
||||||
</selectfont>
|
</selectfont>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<selectfont>
|
<selectfont>
|
||||||
<acceptfont>
|
<acceptfont>
|
||||||
<pattern>
|
<pattern>
|
||||||
<patelt name="outline"><bool>false</bool></patelt>
|
<patelt name="scalable"><bool>false</bool></patelt>
|
||||||
</pattern>
|
</pattern>
|
||||||
</acceptfont>
|
</acceptfont>
|
||||||
</selectfont>
|
</selectfont>
|
||||||
|
|
|
@ -79,7 +79,6 @@ template_DATA = \
|
||||||
11-lcdfilter-default.conf \
|
11-lcdfilter-default.conf \
|
||||||
11-lcdfilter-legacy.conf \
|
11-lcdfilter-legacy.conf \
|
||||||
11-lcdfilter-light.conf \
|
11-lcdfilter-light.conf \
|
||||||
11-lcdfilter-none.conf \
|
|
||||||
20-unhint-small-vera.conf \
|
20-unhint-small-vera.conf \
|
||||||
25-unhint-nonlatin.conf \
|
25-unhint-nonlatin.conf \
|
||||||
30-metric-aliases.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
|
cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) $(top_builddir)/conf.d/35-lang-normalize.conf
|
||||||
|
|
||||||
install-data-hook:
|
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:
|
uninstall-local:
|
||||||
@(echo cd $(DESTDIR)$(configdir); \
|
@(echo cd $(DESTDIR)$(configdir); \
|
||||||
cd $(DESTDIR)$(configdir); \
|
cd $(DESTDIR)$(configdir); \
|
||||||
|
|
|
@ -34,7 +34,7 @@ if __name__=='__main__':
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
os.symlink(os.path.relpath(src, start=args.confpath), dst)
|
os.symlink(src, dst)
|
||||||
except NotImplementedError:
|
except NotImplementedError:
|
||||||
# Not supported on this version of Windows
|
# Not supported on this version of Windows
|
||||||
break
|
break
|
||||||
|
|
|
@ -18,7 +18,6 @@ conf_files = [
|
||||||
'11-lcdfilter-default.conf',
|
'11-lcdfilter-default.conf',
|
||||||
'11-lcdfilter-legacy.conf',
|
'11-lcdfilter-legacy.conf',
|
||||||
'11-lcdfilter-light.conf',
|
'11-lcdfilter-light.conf',
|
||||||
'11-lcdfilter-none.conf',
|
|
||||||
'20-unhint-small-vera.conf',
|
'20-unhint-small-vera.conf',
|
||||||
'25-unhint-nonlatin.conf',
|
'25-unhint-nonlatin.conf',
|
||||||
'30-metric-aliases.conf',
|
'30-metric-aliases.conf',
|
||||||
|
|
|
@ -55,7 +55,7 @@ running out of memory.
|
||||||
@FUNC@ FcCharSetDelChar
|
@FUNC@ FcCharSetDelChar
|
||||||
@TYPE1@ FcCharSet * @ARG1@ fcs
|
@TYPE1@ FcCharSet * @ARG1@ fcs
|
||||||
@TYPE2@ FcChar32% @ARG2@ ucs4
|
@TYPE2@ FcChar32% @ARG2@ ucs4
|
||||||
@PURPOSE@ Delete a character from a charset
|
@PURPOSE@ Add a character to a charset
|
||||||
@DESC@
|
@DESC@
|
||||||
<function>FcCharSetDelChar</function> deletes a single Unicode char from the set,
|
<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
|
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
|
@PURPOSE@ Build font database
|
||||||
@DESC@
|
@DESC@
|
||||||
Builds the set of available fonts for the given configuration. Note that
|
Builds the set of available fonts for the given configuration. Note that
|
||||||
any changes to the configuration after this call (through
|
any changes to the configuration after this call have indeterminate effects.
|
||||||
<function>FcConfigParseAndLoad</function> or
|
Returns FcFalse if this operation runs out of memory.
|
||||||
<function>FcConfigParseAndLoadFromMemory</function>) have indeterminate
|
If <parameter>config</parameter> is NULL, the current configuration is used.
|
||||||
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.
|
|
||||||
@@
|
@@
|
||||||
|
|
||||||
@RET@ FcStrList *
|
@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.
|
'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
|
Returns FcFalse if some error occurred while loading the file, either a
|
||||||
parse error, semantic error or allocation failure. Otherwise returns FcTrue.
|
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
|
@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.
|
'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
|
Returns FcFalse if fsome error occurred while loading the file, either a
|
||||||
parse error, semantic error or allocation failure. Otherwise returns FcTrue.
|
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
|
@SINCE@ 2.12.5
|
||||||
@@
|
@@
|
||||||
|
|
||||||
|
|
|
@ -175,7 +175,7 @@ convenience for the application's rendering mechanism.
|
||||||
face object
|
face object
|
||||||
rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
|
rasterizer FC_RASTERIZER String Which rasterizer is in use (deprecated)
|
||||||
outline FC_OUTLINE Bool Whether the glyphs are outlines
|
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
|
dpi FC_DPI Double Target dots per inch
|
||||||
rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
|
rgba FC_RGBA Int unknown, rgb, bgr, vrgb,
|
||||||
vbgr, none - subpixel geometry
|
vbgr, none - subpixel geometry
|
||||||
|
@ -183,7 +183,6 @@ convenience for the application's rendering mechanism.
|
||||||
conversions (deprecated)
|
conversions (deprecated)
|
||||||
minspace FC_MINSPACE Bool Eliminate leading from line
|
minspace FC_MINSPACE Bool Eliminate leading from line
|
||||||
spacing
|
spacing
|
||||||
matrix FC_MATRIX Matrix Hold an affine transformation
|
|
||||||
charset FC_CHARSET CharSet Unicode chars encoded by
|
charset FC_CHARSET CharSet Unicode chars encoded by
|
||||||
the font
|
the font
|
||||||
lang FC_LANG LangSet Set of RFC-3066-style
|
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
|
hash FC_HASH String SHA256 hash value of the font data
|
||||||
with "sha256:" prefix (deprecated)
|
with "sha256:" prefix (deprecated)
|
||||||
postscriptname FC_POSTSCRIPT_NAME String Font name in PostScript
|
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
|
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
|
fontvariations FC_FONT_VARIATIONS String comma-separated string of axes in variable font
|
||||||
variable FC_VARIABLE Bool Whether font is Variable Font
|
variable FC_VARIABLE Bool Whether font is Variable Font
|
||||||
fonthashint FC_FONT_HAS_HINT Bool Whether font has hinting
|
fonthashint FC_FONT_HAS_HINT Bool Whether font has hinting
|
||||||
order FC_ORDER Int Order number of the font
|
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>
|
</programlisting>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
|
@ -101,15 +101,15 @@ fullname String Font full names (often includes style)
|
||||||
fullnamelang String Languages corresponding to each fullname
|
fullnamelang String Languages corresponding to each fullname
|
||||||
slant Int Italic, oblique or roman
|
slant Int Italic, oblique or roman
|
||||||
weight Int Light, medium, demibold, bold or black
|
weight Int Light, medium, demibold, bold or black
|
||||||
width Int Condensed, normal or expanded
|
|
||||||
size Double Point size
|
size Double Point size
|
||||||
|
width Int Condensed, normal or expanded
|
||||||
aspect Double Stretches glyphs horizontally before hinting
|
aspect Double Stretches glyphs horizontally before hinting
|
||||||
pixelsize Double Pixel size
|
pixelsize Double Pixel size
|
||||||
spacing Int Proportional, dual-width, monospace or charcell
|
spacing Int Proportional, dual-width, monospace or charcell
|
||||||
foundry String Font foundry name
|
foundry String Font foundry name
|
||||||
antialias Bool Whether glyphs can be antialiased
|
antialias Bool Whether glyphs can be antialiased
|
||||||
hintstyle Int Automatic hinting style
|
|
||||||
hinting Bool Whether the rasterizer should use hinting
|
hinting Bool Whether the rasterizer should use hinting
|
||||||
|
hintstyle Int Automatic hinting style
|
||||||
verticallayout Bool Use vertical layout
|
verticallayout Bool Use vertical layout
|
||||||
autohint Bool Use autohinter instead of normal hinter
|
autohint Bool Use autohinter instead of normal hinter
|
||||||
globaladvance Bool Use font global advance data (deprecated)
|
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
|
ftface FT_Face Use the specified FreeType face object
|
||||||
rasterizer String Which rasterizer is in use (deprecated)
|
rasterizer String Which rasterizer is in use (deprecated)
|
||||||
outline Bool Whether the glyphs are outlines
|
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
|
dpi Double Target dots per inch
|
||||||
rgba Int unknown, rgb, bgr, vrgb, vbgr,
|
rgba Int unknown, rgb, bgr, vrgb, vbgr,
|
||||||
none - subpixel geometry
|
none - subpixel geometry
|
||||||
scale Double Scale factor for point->pixel conversions
|
lcdfilter Int Type of LCD filter
|
||||||
(deprecated)
|
|
||||||
minspace Bool Eliminate leading from line spacing
|
minspace Bool Eliminate leading from line spacing
|
||||||
charset CharSet Unicode chars encoded by the font
|
charset CharSet Unicode chars encoded by the font
|
||||||
lang String List of RFC-3066-style languages this
|
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
|
embolden Bool Rasterizer should synthetically embolden the font
|
||||||
embeddedbitmap Bool Use the embedded bitmap instead of the outline
|
embeddedbitmap Bool Use the embedded bitmap instead of the outline
|
||||||
decorative Bool Whether the style is a decorative variant
|
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
|
namelang String Language name to be used for the default value of
|
||||||
familylang, stylelang, and fullnamelang
|
familylang, stylelang, and fullnamelang
|
||||||
fontfeatures String List of the feature tags in OpenType to be enabled
|
|
||||||
prgname String String Name of the running program
|
prgname String String Name of the running program
|
||||||
postscriptname String Font family name in PostScript
|
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
|
fonthashint Bool Whether the font has hinting
|
||||||
order Int Order number of the font
|
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>
|
</programlisting>
|
||||||
</refsect2>
|
</refsect2>
|
||||||
<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.
|
automatically rebuild the internal datastructures when this interval passes.
|
||||||
</para></refsect2>
|
</para></refsect2>
|
||||||
<refsect2><title><literal><selectfont></literal></title><para>
|
<refsect2><title><literal><selectfont></literal></title><para>
|
||||||
This element is used to deny/allow list fonts from being listed or matched
|
This element is used to black/white list fonts from being listed or matched
|
||||||
against. It holds acceptfont and rejectfont elements. This list is applied
|
against. It holds acceptfont and rejectfont elements.
|
||||||
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.
|
|
||||||
</para></refsect2>
|
</para></refsect2>
|
||||||
<refsect2><title><literal><acceptfont></literal></title><para>
|
<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
|
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
|
by a rejectfont element. Acceptfont elements include glob and pattern
|
||||||
elements which are used to match fonts.
|
elements which are used to match fonts.
|
||||||
</para></refsect2>
|
</para></refsect2>
|
||||||
<refsect2><title><literal><rejectfont></literal></title><para>
|
<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
|
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
|
they didn't exist in the system. Rejectfont elements include glob and
|
||||||
pattern elements which are used to match fonts.
|
pattern elements which are used to match fonts.
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# CaseFolding-15.1.0.txt
|
# CaseFolding-14.0.0.txt
|
||||||
# Date: 2023-05-12, 21:53:10 GMT
|
# Date: 2021-03-08, 19:35:41 GMT
|
||||||
# © 2023 Unicode®, Inc.
|
# © 2021 Unicode®, Inc.
|
||||||
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
# 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
|
# Unicode Character Database
|
||||||
# For documentation, see https://www.unicode.org/reports/tr44/
|
# For documentation, see http://www.unicode.org/reports/tr44/
|
||||||
#
|
#
|
||||||
# Case Folding Properties
|
# Case Folding Properties
|
||||||
#
|
#
|
||||||
|
@ -929,7 +929,6 @@
|
||||||
1FCC; S; 1FC3; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
|
1FCC; S; 1FC3; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
|
||||||
1FD2; F; 03B9 0308 0300; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
|
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; 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
|
1FD6; F; 03B9 0342; # GREEK SMALL LETTER IOTA WITH PERISPOMENI
|
||||||
1FD7; F; 03B9 0308 0342; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
|
1FD7; F; 03B9 0308 0342; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
|
||||||
1FD8; C; 1FD0; # GREEK CAPITAL LETTER IOTA WITH VRACHY
|
1FD8; C; 1FD0; # GREEK CAPITAL LETTER IOTA WITH VRACHY
|
||||||
|
@ -938,7 +937,6 @@
|
||||||
1FDB; C; 1F77; # GREEK CAPITAL LETTER IOTA WITH OXIA
|
1FDB; C; 1F77; # GREEK CAPITAL LETTER IOTA WITH OXIA
|
||||||
1FE2; F; 03C5 0308 0300; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
|
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; 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
|
1FE4; F; 03C1 0313; # GREEK SMALL LETTER RHO WITH PSILI
|
||||||
1FE6; F; 03C5 0342; # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
|
1FE6; F; 03C5 0342; # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
|
||||||
1FE7; F; 03C5 0308 0342; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND 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
|
FB03; F; 0066 0066 0069; # LATIN SMALL LIGATURE FFI
|
||||||
FB04; F; 0066 0066 006C; # LATIN SMALL LIGATURE FFL
|
FB04; F; 0066 0066 006C; # LATIN SMALL LIGATURE FFL
|
||||||
FB05; F; 0073 0074; # LATIN SMALL LIGATURE LONG S T
|
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
|
FB06; F; 0073 0074; # LATIN SMALL LIGATURE ST
|
||||||
FB13; F; 0574 0576; # ARMENIAN SMALL LIGATURE MEN NOW
|
FB13; F; 0574 0576; # ARMENIAN SMALL LIGATURE MEN NOW
|
||||||
FB14; F; 0574 0565; # ARMENIAN SMALL LIGATURE MEN ECH
|
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><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 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>
|
In that case, it will be shown after processing all the sub directories where is targeted by <include>.</para>
|
||||||
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
|
@ -282,40 +282,7 @@ ORTH = \
|
||||||
doi.orth \
|
doi.orth \
|
||||||
mni.orth \
|
mni.orth \
|
||||||
und_zsye.orth \
|
und_zsye.orth \
|
||||||
und_zmth.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
|
|
||||||
# ^-------------- Add new orth files here
|
# ^-------------- Add new orth files here
|
||||||
|
|
||||||
BUILT_SOURCES += $(top_builddir)/conf.d/35-lang-normalize.conf
|
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 fcLangCharSetIndices (fcLangData.langIndices)')
|
||||||
print('#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv)')
|
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('''
|
print('''
|
||||||
static const struct {{
|
static const struct {{
|
||||||
|
@ -262,7 +262,7 @@ static const struct {{
|
||||||
{} langIndices[{}];
|
{} langIndices[{}];
|
||||||
{} langIndicesInv[{}];
|
{} langIndicesInv[{}];
|
||||||
}} fcLangData = {{'''.format(len(sets), len(leaves), tn, tn,
|
}} fcLangData = {{'''.format(len(sets), len(leaves), tn, tn,
|
||||||
'FcChar16 ', len(sets), 'FcChar16 ', len(sets)))
|
'FcChar8 ', len(sets), 'FcChar8 ', len(sets)))
|
||||||
|
|
||||||
# Dump sets
|
# Dump sets
|
||||||
print('{')
|
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',
|
'mni.orth',
|
||||||
'und_zsye.orth',
|
'und_zsye.orth',
|
||||||
'und_zmth.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',
|
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.
|
* 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) #s
|
||||||
#define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
|
#define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
|
||||||
#define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
|
#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_FONT_HAS_HINT "fonthashint" /* Bool - true if font has hinting */
|
||||||
#define FC_ORDER "order" /* Integer */
|
#define FC_ORDER "order" /* Integer */
|
||||||
#define FC_DESKTOP_NAME "desktop" /* String */
|
#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_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION
|
||||||
#define FC_DIR_CACHE_FILE "fonts.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',
|
project('fontconfig', 'c',
|
||||||
version: '2.14.2',
|
version: '2.14.2',
|
||||||
meson_version : '>= 0.60.0',
|
meson_version : '>= 0.57.0',
|
||||||
default_options: [ 'buildtype=debugoptimized'],
|
default_options: [ 'buildtype=debugoptimized'],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -209,20 +209,6 @@ if cc.links(files('meson-cc-tests/solaris-atomic-operations.c'), name: 'Solaris
|
||||||
endif
|
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')
|
prefix = get_option('prefix')
|
||||||
|
|
||||||
fonts_conf = configuration_data()
|
fonts_conf = configuration_data()
|
||||||
|
@ -302,7 +288,7 @@ endif
|
||||||
|
|
||||||
fc_baseconfigdir = get_option('baseconfig-dir')
|
fc_baseconfigdir = get_option('baseconfig-dir')
|
||||||
if fc_baseconfigdir in ['default', 'yes', 'no']
|
if fc_baseconfigdir in ['default', 'yes', 'no']
|
||||||
fc_baseconfigdir = prefix / get_option('sysconfdir') / 'fonts'
|
fc_baseconfigdir = prefix / get_option('sysconfdir') / 'fonts'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fc_configdir = get_option('config-dir')
|
fc_configdir = get_option('config-dir')
|
||||||
|
@ -339,7 +325,7 @@ if gperf.found()
|
||||||
@1@
|
@1@
|
||||||
'''
|
'''
|
||||||
gperf_snippet = run_command(gperf, '-L', 'ANSI-C', files('meson-cc-tests/gperf.txt'),
|
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']
|
foreach type : ['size_t', 'unsigned']
|
||||||
if cc.compiles(gperf_test_format.format(type, gperf_snippet))
|
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))
|
message('gperf len type is @0@'.format(gperf_len_type))
|
||||||
|
|
||||||
conf.set('FC_GPERF_SIZE_T', 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)
|
conf.set('_GNU_SOURCE', true)
|
||||||
|
|
||||||
|
@ -384,16 +370,16 @@ fcstdint_h = configure_file(
|
||||||
makealias = files('src/makealias.py')[0]
|
makealias = files('src/makealias.py')[0]
|
||||||
|
|
||||||
alias_headers = custom_target('alias_headers',
|
alias_headers = custom_target('alias_headers',
|
||||||
output: ['fcalias.h', 'fcaliastail.h'],
|
output: ['fcalias.h', 'fcaliastail.h'],
|
||||||
input: ['fontconfig/fontconfig.h', 'src/fcdeprecate.h', 'fontconfig/fcprivate.h'],
|
input: ['fontconfig/fontconfig.h', 'src/fcdeprecate.h', 'fontconfig/fcprivate.h'],
|
||||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@'],
|
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@'],
|
||||||
)
|
)
|
||||||
|
|
||||||
ft_alias_headers = custom_target('ft_alias_headers',
|
ft_alias_headers = custom_target('ft_alias_headers',
|
||||||
output: ['fcftalias.h', 'fcftaliastail.h'],
|
output: ['fcftalias.h', 'fcftaliastail.h'],
|
||||||
input: ['fontconfig/fcfreetype.h'],
|
input: ['fontconfig/fcfreetype.h'],
|
||||||
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@']
|
command: [python3, makealias, join_paths(meson.current_source_dir(), 'src'), '@OUTPUT@', '@INPUT@']
|
||||||
)
|
)
|
||||||
|
|
||||||
tools_man_pages = []
|
tools_man_pages = []
|
||||||
|
|
||||||
|
@ -434,14 +420,14 @@ endif
|
||||||
configure_file(output: 'config.h', configuration: conf)
|
configure_file(output: 'config.h', configuration: conf)
|
||||||
|
|
||||||
configure_file(output: 'fonts.conf',
|
configure_file(output: 'fonts.conf',
|
||||||
input: 'fonts.conf.in',
|
input: 'fonts.conf.in',
|
||||||
configuration: fonts_conf,
|
configuration: fonts_conf,
|
||||||
install_dir: fc_baseconfigdir,
|
install_dir: fc_baseconfigdir,
|
||||||
install: true)
|
install: true)
|
||||||
|
|
||||||
install_data('fonts.dtd',
|
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 = [
|
fc_headers = [
|
||||||
'fontconfig/fontconfig.h',
|
'fontconfig/fontconfig.h',
|
||||||
|
@ -455,21 +441,20 @@ install_headers(fc_headers, subdir: meson.project_name())
|
||||||
doc_targets = get_variable('doc_targets', [])
|
doc_targets = get_variable('doc_targets', [])
|
||||||
|
|
||||||
summary({
|
summary({
|
||||||
'Documentation': (doc_targets.length() > 0 ? doc_targets : false),
|
'Documentation': (doc_targets.length() > 0 ? doc_targets : false),
|
||||||
'NLS': not get_option('nls').disabled(),
|
'NLS': not get_option('nls').disabled(),
|
||||||
'Tests': not get_option('tests').disabled(),
|
'Tests': not get_option('tests').disabled(),
|
||||||
'Tools': not get_option('tools').disabled(),
|
'Tools': not get_option('tools').disabled(),
|
||||||
'iconv': found_iconv == 1,
|
}, section: 'General', bool_yn: true, list_sep: ', ')
|
||||||
}, section: 'General', bool_yn: true, list_sep: ', ')
|
|
||||||
summary({
|
summary({
|
||||||
'Hinting': preferred_hinting,
|
'Hinting': preferred_hinting,
|
||||||
'Font directories': fc_fonts_paths,
|
'Font directories': fc_fonts_paths,
|
||||||
'Additional font directories': fc_add_fonts,
|
'Additional font directories': fc_add_fonts,
|
||||||
}, section: 'Defaults', bool_yn: true, list_sep: ', ')
|
}, section: 'Defaults', bool_yn: true, list_sep: ', ')
|
||||||
summary({
|
summary({
|
||||||
'Cache directory': fc_cachedir,
|
'Cache directory': fc_cachedir,
|
||||||
'Template directory': fc_templatedir,
|
'Template directory': fc_templatedir,
|
||||||
'Base config directory': fc_baseconfigdir,
|
'Base config directory': fc_baseconfigdir,
|
||||||
'Config directory': fc_configdir,
|
'Config directory': fc_configdir,
|
||||||
'XML directory': fc_xmldir,
|
'XML directory': fc_xmldir,
|
||||||
}, section: 'Paths', bool_yn: true, list_sep: ', ')
|
}, 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.)')
|
description: 'Build command-line tools (fc-list, fc-query, etc.)')
|
||||||
option('cache-build', type : 'feature', value : 'enabled',
|
option('cache-build', type : 'feature', value : 'enabled',
|
||||||
description: 'Run fc-cache on install')
|
description: 'Run fc-cache on install')
|
||||||
option('iconv', type: 'feature', value: 'disabled')
|
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
option('default-hinting', type: 'combo', choices: ['none', 'slight', 'medium', 'full'], value: 'slight',
|
option('default-hinting', type: 'combo', choices: ['none', 'slight', 'medium', 'full'], value: 'slight',
|
||||||
|
|
|
@ -147,6 +147,10 @@ FcConfigCreate (void)
|
||||||
if (!config->configDirs)
|
if (!config->configDirs)
|
||||||
goto bail1;
|
goto bail1;
|
||||||
|
|
||||||
|
config->configMapDirs = FcStrSetCreate();
|
||||||
|
if (!config->configMapDirs)
|
||||||
|
goto bail1_5;
|
||||||
|
|
||||||
config->configFiles = FcStrSetCreate ();
|
config->configFiles = FcStrSetCreate ();
|
||||||
if (!config->configFiles)
|
if (!config->configFiles)
|
||||||
goto bail2;
|
goto bail2;
|
||||||
|
@ -226,6 +230,8 @@ bail4:
|
||||||
bail3:
|
bail3:
|
||||||
FcStrSetDestroy (config->configFiles);
|
FcStrSetDestroy (config->configFiles);
|
||||||
bail2:
|
bail2:
|
||||||
|
FcStrSetDestroy (config->configMapDirs);
|
||||||
|
bail1_5:
|
||||||
FcStrSetDestroy (config->configDirs);
|
FcStrSetDestroy (config->configDirs);
|
||||||
bail1:
|
bail1:
|
||||||
free (config);
|
free (config);
|
||||||
|
@ -364,6 +370,7 @@ FcConfigDestroy (FcConfig *config)
|
||||||
(void) fc_atomic_ptr_cmpexch (&_fcConfig, config, NULL);
|
(void) fc_atomic_ptr_cmpexch (&_fcConfig, config, NULL);
|
||||||
|
|
||||||
FcStrSetDestroy (config->configDirs);
|
FcStrSetDestroy (config->configDirs);
|
||||||
|
FcStrSetDestroy (config->configMapDirs);
|
||||||
FcStrSetDestroy (config->fontDirs);
|
FcStrSetDestroy (config->fontDirs);
|
||||||
FcStrSetDestroy (config->cacheDirs);
|
FcStrSetDestroy (config->cacheDirs);
|
||||||
FcStrSetDestroy (config->configFiles);
|
FcStrSetDestroy (config->configFiles);
|
||||||
|
@ -2275,8 +2282,8 @@ FcConfigSubstituteWithPat (FcConfig *config,
|
||||||
printf ("FcConfigSubstitute done");
|
printf ("FcConfigSubstitute done");
|
||||||
FcPatternPrint (p);
|
FcPatternPrint (p);
|
||||||
}
|
}
|
||||||
FamilyTableClear (&data);
|
|
||||||
bail1:
|
bail1:
|
||||||
|
FamilyTableClear (&data);
|
||||||
if (elt)
|
if (elt)
|
||||||
free (elt);
|
free (elt);
|
||||||
if (value)
|
if (value)
|
||||||
|
|
|
@ -228,9 +228,8 @@ FcRandom(void)
|
||||||
#elif HAVE_LRAND48
|
#elif HAVE_LRAND48
|
||||||
result = lrand48 ();
|
result = lrand48 ();
|
||||||
#elif HAVE_RAND_R
|
#elif HAVE_RAND_R
|
||||||
static unsigned int seed;
|
static unsigned int seed = time (NULL);
|
||||||
|
|
||||||
seed = time (NULL);
|
|
||||||
result = rand_r (&seed);
|
result = rand_r (&seed);
|
||||||
#elif HAVE_RAND
|
#elif HAVE_RAND
|
||||||
static FcBool initialized = FcFalse;
|
static FcBool initialized = FcFalse;
|
||||||
|
|
22
src/fcdir.c
22
src/fcdir.c
|
@ -201,7 +201,7 @@ FcDirScanConfig (FcFontSet *set,
|
||||||
DIR *d;
|
DIR *d;
|
||||||
struct dirent *e;
|
struct dirent *e;
|
||||||
FcStrSet *files;
|
FcStrSet *files;
|
||||||
FcChar8 *file_prefix = NULL, *s_dir = NULL;
|
FcChar8 *file_prefix, *s_dir = NULL;
|
||||||
FcChar8 *base;
|
FcChar8 *base;
|
||||||
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
|
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
|
||||||
FcBool ret = FcTrue;
|
FcBool ret = FcTrue;
|
||||||
|
@ -213,6 +213,16 @@ FcDirScanConfig (FcFontSet *set,
|
||||||
if (!set && !dirs)
|
if (!set && !dirs)
|
||||||
return FcTrue;
|
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)
|
if (sysroot)
|
||||||
s_dir = FcStrBuildFilename (sysroot, dir, NULL);
|
s_dir = FcStrBuildFilename (sysroot, dir, NULL);
|
||||||
else
|
else
|
||||||
|
@ -222,16 +232,6 @@ FcDirScanConfig (FcFontSet *set,
|
||||||
goto bail;
|
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)
|
if (FcDebug () & FC_DBG_SCAN)
|
||||||
printf ("\tScanning dir %s\n", s_dir);
|
printf ("\tScanning dir %s\n", s_dir);
|
||||||
|
|
||||||
|
|
141
src/fcfreetype.c
141
src/fcfreetype.c
|
@ -27,7 +27,6 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <fcntl.h>
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
#include FT_ADVANCES_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_SYMBOL_CS, "UTF-16BE" },
|
||||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_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_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_BIG_5, "BIG-5" },
|
||||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_WANSUNG, "Wansung" },
|
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_WANSUNG, "Wansung" },
|
||||||
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_JOHAB, "Johab" },
|
{ TT_PLATFORM_MICROSOFT, TT_MS_ID_JOHAB, "Johab" },
|
||||||
|
@ -699,7 +698,6 @@ FcSfntNameTranscode (FT_SfntName *sname)
|
||||||
iconv_t cd;
|
iconv_t cd;
|
||||||
#endif
|
#endif
|
||||||
FcChar8 *utf8;
|
FcChar8 *utf8;
|
||||||
FcBool redecoded = FcFalse;
|
|
||||||
|
|
||||||
for (i = 0; i < NUM_FC_FT_ENCODING; i++)
|
for (i = 0; i < NUM_FC_FT_ENCODING; i++)
|
||||||
if (fcFtEncoding[i].platform_id == sname->platform_id &&
|
if (fcFtEncoding[i].platform_id == sname->platform_id &&
|
||||||
|
@ -710,7 +708,6 @@ FcSfntNameTranscode (FT_SfntName *sname)
|
||||||
return 0;
|
return 0;
|
||||||
fromcode = fcFtEncoding[i].fromcode;
|
fromcode = fcFtEncoding[i].fromcode;
|
||||||
|
|
||||||
retry:
|
|
||||||
/*
|
/*
|
||||||
* Many names encoded for TT_PLATFORM_MACINTOSH are broken
|
* Many names encoded for TT_PLATFORM_MACINTOSH are broken
|
||||||
* in various ways. Kludge around them.
|
* in various ways. Kludge around them.
|
||||||
|
@ -722,10 +719,6 @@ retry:
|
||||||
{
|
{
|
||||||
fromcode = "SJIS";
|
fromcode = "SJIS";
|
||||||
}
|
}
|
||||||
else if (sname->language_id == TT_MAC_LANGID_JAPANESE)
|
|
||||||
{
|
|
||||||
fromcode = "SJIS";
|
|
||||||
}
|
|
||||||
else if (sname->language_id >= 0x100)
|
else if (sname->language_id >= 0x100)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -755,7 +748,7 @@ retry:
|
||||||
int ilen, olen;
|
int ilen, olen;
|
||||||
FcChar8 *u8;
|
FcChar8 *u8;
|
||||||
FcChar32 ucs4;
|
FcChar32 ucs4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert Utf16 to Utf8
|
* Convert Utf16 to Utf8
|
||||||
*/
|
*/
|
||||||
|
@ -789,7 +782,7 @@ retry:
|
||||||
int olen;
|
int olen;
|
||||||
FcChar8 *u8;
|
FcChar8 *u8;
|
||||||
FcChar32 ucs4;
|
FcChar32 ucs4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert Latin1 to Utf8. Freed below
|
* Convert Latin1 to Utf8. Freed below
|
||||||
*/
|
*/
|
||||||
|
@ -844,17 +837,17 @@ retry:
|
||||||
size_t in_bytes_left = sname->string_len;
|
size_t in_bytes_left = sname->string_len;
|
||||||
size_t out_bytes_left = sname->string_len * FC_UTF8_MAX_LEN;
|
size_t out_bytes_left = sname->string_len * FC_UTF8_MAX_LEN;
|
||||||
char *inbuf, *outbuf;
|
char *inbuf, *outbuf;
|
||||||
|
|
||||||
utf8 = malloc (out_bytes_left + 1);
|
utf8 = malloc (out_bytes_left + 1);
|
||||||
if (!utf8)
|
if (!utf8)
|
||||||
{
|
{
|
||||||
iconv_close (cd);
|
iconv_close (cd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
outbuf = (char *) utf8;
|
outbuf = (char *) utf8;
|
||||||
inbuf = (char *) sname->string;
|
inbuf = (char *) sname->string;
|
||||||
|
|
||||||
while (in_bytes_left)
|
while (in_bytes_left)
|
||||||
{
|
{
|
||||||
size_t did = iconv (cd,
|
size_t did = iconv (cd,
|
||||||
|
@ -864,13 +857,6 @@ retry:
|
||||||
{
|
{
|
||||||
iconv_close (cd);
|
iconv_close (cd);
|
||||||
free (utf8);
|
free (utf8);
|
||||||
if (!redecoded)
|
|
||||||
{
|
|
||||||
/* Regard the encoding as UTF-16BE and try again. */
|
|
||||||
redecoded = FcTrue;
|
|
||||||
fromcode = "UTF-16BE";
|
|
||||||
goto retry;
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -878,14 +864,6 @@ retry:
|
||||||
*outbuf = '\0';
|
*outbuf = '\0';
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (!redecoded)
|
|
||||||
{
|
|
||||||
/* Regard the encoding as UTF-16BE and try again. */
|
|
||||||
redecoded = FcTrue;
|
|
||||||
fromcode = "UTF-16BE";
|
|
||||||
goto retry;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
done:
|
done:
|
||||||
|
@ -1226,7 +1204,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
int spacing;
|
int spacing;
|
||||||
|
|
||||||
/* Support for glyph-variation named-instances. */
|
/* Support for glyph-variation named-instances. */
|
||||||
FT_MM_Var *mmvar = NULL;
|
FT_MM_Var *master = NULL;
|
||||||
FT_Var_Named_Style *instance = NULL;
|
FT_Var_Named_Style *instance = NULL;
|
||||||
double weight_mult = 1.0;
|
double weight_mult = 1.0;
|
||||||
double width_mult = 1.0;
|
double width_mult = 1.0;
|
||||||
|
@ -1280,7 +1258,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
goto bail1;
|
goto bail1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ftresult = FT_Get_MM_Var (face, &mmvar);
|
ftresult = FT_Get_MM_Var (face, &master);
|
||||||
|
|
||||||
if (id >> 16)
|
if (id >> 16)
|
||||||
{
|
{
|
||||||
|
@ -1291,17 +1269,17 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
{
|
{
|
||||||
/* Query variable font itself. */
|
/* Query variable font itself. */
|
||||||
unsigned int i;
|
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 min_value = master->axis[i].minimum / (double) (1U << 16);
|
||||||
double def_value = mmvar->axis[i].def / (double) (1U << 16);
|
double def_value = master->axis[i].def / (double) (1U << 16);
|
||||||
double max_value = mmvar->axis[i].maximum / (double) (1U << 16);
|
double max_value = master->axis[i].maximum / (double) (1U << 16);
|
||||||
FcObject obj = FC_INVALID_OBJECT;
|
FcObject obj = FC_INVALID_OBJECT;
|
||||||
|
|
||||||
if (min_value > def_value || def_value > max_value || min_value == max_value)
|
if (min_value > def_value || def_value > max_value || min_value == max_value)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
switch (mmvar->axis[i].tag)
|
switch (master->axis[i].tag)
|
||||||
{
|
{
|
||||||
case FT_MAKE_TAG ('w','g','h','t'):
|
case FT_MAKE_TAG ('w','g','h','t'):
|
||||||
obj = FC_WEIGHT_OBJECT;
|
obj = FC_WEIGHT_OBJECT;
|
||||||
|
@ -1343,20 +1321,20 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
|
|
||||||
id &= 0xFFFF;
|
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. */
|
/* Pull out weight and width from named-instance. */
|
||||||
unsigned int i;
|
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 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;
|
double mult = default_value ? value / default_value : 1;
|
||||||
//printf ("named-instance, axis %d tag %lx value %g\n", i, mmvar->axis[i].tag, value);
|
//printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
|
||||||
switch (mmvar->axis[i].tag)
|
switch (master->axis[i].tag)
|
||||||
{
|
{
|
||||||
case FT_MAKE_TAG ('w','g','h','t'):
|
case FT_MAKE_TAG ('w','g','h','t'):
|
||||||
weight_mult = mult;
|
weight_mult = mult;
|
||||||
|
@ -1381,12 +1359,12 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
if (!ftresult)
|
if (!ftresult)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
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'):
|
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;
|
goto bail1;
|
||||||
variable_size = FcTrue;
|
variable_size = FcTrue;
|
||||||
break;
|
break;
|
||||||
|
@ -1512,7 +1490,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
case TT_NAME_ID_WWS_FAMILY:
|
case TT_NAME_ID_WWS_FAMILY:
|
||||||
case TT_NAME_ID_TYPOGRAPHIC_FAMILY:
|
case TT_NAME_ID_TYPOGRAPHIC_FAMILY:
|
||||||
case TT_NAME_ID_FONT_FAMILY:
|
case TT_NAME_ID_FONT_FAMILY:
|
||||||
#if 0
|
#if 0
|
||||||
case TT_NAME_ID_UNIQUE_ID:
|
case TT_NAME_ID_UNIQUE_ID:
|
||||||
#endif
|
#endif
|
||||||
if (FcDebug () & FC_DBG_SCANV)
|
if (FcDebug () & FC_DBG_SCANV)
|
||||||
|
@ -1672,7 +1650,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
{
|
{
|
||||||
FcChar8 *start, *end;
|
FcChar8 *start, *end;
|
||||||
FcChar8 *family;
|
FcChar8 *family;
|
||||||
|
|
||||||
start = (FcChar8 *) strrchr ((char *) file, '/');
|
start = (FcChar8 *) strrchr ((char *) file, '/');
|
||||||
if (start)
|
if (start)
|
||||||
start++;
|
start++;
|
||||||
|
@ -1993,7 +1971,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
prop.type == BDF_PROPERTY_TYPE_CARDINAL))
|
prop.type == BDF_PROPERTY_TYPE_CARDINAL))
|
||||||
{
|
{
|
||||||
FT_Int32 value;
|
FT_Int32 value;
|
||||||
|
|
||||||
if (prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
if (prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||||
value = prop.u.integer;
|
value = prop.u.integer;
|
||||||
else
|
else
|
||||||
|
@ -2185,9 +2163,6 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
if (!FcPatternObjectAddBool (pat, FC_ANTIALIAS_OBJECT, FcFalse))
|
if (!FcPatternObjectAddBool (pat, FC_ANTIALIAS_OBJECT, FcFalse))
|
||||||
goto bail2;
|
goto bail2;
|
||||||
}
|
}
|
||||||
|
|
||||||
FcChar8* wrapper = NULL;
|
|
||||||
|
|
||||||
#if HAVE_FT_GET_X11_FONT_FORMAT
|
#if HAVE_FT_GET_X11_FONT_FORMAT
|
||||||
/*
|
/*
|
||||||
* Use the (not well documented or supported) X-specific function
|
* 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);
|
const char *font_format = FT_Get_X11_Font_Format (face);
|
||||||
if (font_format)
|
if (font_format)
|
||||||
{
|
|
||||||
if (!FcPatternObjectAddString (pat, FC_FONTFORMAT_OBJECT, (FcChar8 *) font_format))
|
if (!FcPatternObjectAddString (pat, FC_FONTFORMAT_OBJECT, (FcChar8 *) font_format))
|
||||||
goto bail2;
|
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
|
#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
|
* Drop our reference to the charset
|
||||||
*/
|
*/
|
||||||
|
@ -2242,13 +2183,13 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
if (foundry_)
|
if (foundry_)
|
||||||
free (foundry_);
|
free (foundry_);
|
||||||
|
|
||||||
if (mmvar)
|
if (master)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_FT_DONE_MM_VAR
|
#ifdef HAVE_FT_DONE_MM_VAR
|
||||||
if (face->glyph)
|
if (face->glyph)
|
||||||
FT_Done_MM_Var (face->glyph->library, mmvar);
|
FT_Done_MM_Var (face->glyph->library, master);
|
||||||
#else
|
#else
|
||||||
free (mmvar);
|
free (master);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2258,13 +2199,13 @@ bail2:
|
||||||
FcCharSetDestroy (cs);
|
FcCharSetDestroy (cs);
|
||||||
bail1:
|
bail1:
|
||||||
FcPatternDestroy (pat);
|
FcPatternDestroy (pat);
|
||||||
if (mmvar)
|
if (master)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_FT_DONE_MM_VAR
|
#ifdef HAVE_FT_DONE_MM_VAR
|
||||||
if (face->glyph)
|
if (face->glyph)
|
||||||
FT_Done_MM_Var (face->glyph->library, mmvar);
|
FT_Done_MM_Var (face->glyph->library, master);
|
||||||
#else
|
#else
|
||||||
free (mmvar);
|
free (master);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (!nm_share && name_mapping)
|
if (!nm_share && name_mapping)
|
||||||
|
@ -2409,26 +2350,12 @@ skip:
|
||||||
cs = NULL;
|
cs = NULL;
|
||||||
FT_Done_Face (face);
|
FT_Done_Face (face);
|
||||||
face = NULL;
|
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++;
|
face_num++;
|
||||||
instance_num = set_instance_num;
|
instance_num = set_instance_num;
|
||||||
|
|
||||||
if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
|
if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
|
||||||
break;
|
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);
|
} 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 FcIsSpace(x) (040 == (x))
|
||||||
#define FcIsDigit(c) (('0' <= (c) && (c) <= '9'))
|
#define FcIsDigit(c) (('0' <= (c) && (c) <= '9'))
|
||||||
#define FcIsValidScript(x) (FcIsLower(x) || FcIsUpper (x) || FcIsDigit(x) || FcIsSpace(x))
|
#define FcIsValidScript(x) (FcIsLower(x) || FcIsUpper (x) || FcIsDigit(x) || FcIsSpace(x))
|
||||||
|
|
||||||
static void
|
static void
|
||||||
addtag(FcChar8 *complex_, FT_ULong tag)
|
addtag(FcChar8 *complex_, FT_ULong tag)
|
||||||
{
|
{
|
||||||
|
@ -2835,9 +2762,9 @@ GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags)
|
||||||
goto Fail;
|
goto Fail;
|
||||||
|
|
||||||
/* sort the tag list before returning it */
|
/* 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:
|
Fail:
|
||||||
free(*stags);
|
free(*stags);
|
||||||
|
|
|
@ -408,8 +408,8 @@ typedef struct _FcStrBuf {
|
||||||
|
|
||||||
typedef struct _FcHashTable FcHashTable;
|
typedef struct _FcHashTable FcHashTable;
|
||||||
|
|
||||||
typedef FcChar32 (* FcHashFunc) (const FcChar8 *data);
|
typedef FcChar32 (* FcHashFunc) (const void *data);
|
||||||
typedef int (* FcCompareFunc) (const FcChar8 *v1, const FcChar8 *v2);
|
typedef int (* FcCompareFunc) (const void *v1, const void *v2);
|
||||||
typedef FcBool (* FcCopyFunc) (const void *src, void **dest);
|
typedef FcBool (* FcCopyFunc) (const void *src, void **dest);
|
||||||
|
|
||||||
|
|
||||||
|
@ -524,6 +524,7 @@ struct _FcConfig {
|
||||||
* and those directives may occur in any order
|
* and those directives may occur in any order
|
||||||
*/
|
*/
|
||||||
FcStrSet *configDirs; /* directories to scan for fonts */
|
FcStrSet *configDirs; /* directories to scan for fonts */
|
||||||
|
FcStrSet *configMapDirs; /* mapped names to generate cache entries */
|
||||||
/*
|
/*
|
||||||
* List of directories containing fonts,
|
* List of directories containing fonts,
|
||||||
* built by recursively scanning the set
|
* built by recursively scanning the set
|
||||||
|
|
|
@ -322,10 +322,8 @@ typedef enum _FcMatcherPriorityDummy {
|
||||||
|
|
||||||
typedef enum _FcMatcherPriority {
|
typedef enum _FcMatcherPriority {
|
||||||
PRI1(FILE),
|
PRI1(FILE),
|
||||||
PRI1(FONT_WRAPPER),
|
|
||||||
PRI1(FONTFORMAT),
|
PRI1(FONTFORMAT),
|
||||||
PRI1(VARIABLE),
|
PRI1(VARIABLE),
|
||||||
PRI1(NAMED_INSTANCE),
|
|
||||||
PRI1(SCALABLE),
|
PRI1(SCALABLE),
|
||||||
PRI1(COLOR),
|
PRI1(COLOR),
|
||||||
PRI1(FOUNDRY),
|
PRI1(FOUNDRY),
|
||||||
|
@ -1245,7 +1243,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
|
||||||
FcPatternGet (p, FC_LANG, nPatternLang, &patternLang) == FcResultMatch;
|
FcPatternGet (p, FC_LANG, nPatternLang, &patternLang) == FcResultMatch;
|
||||||
nPatternLang++)
|
nPatternLang++)
|
||||||
;
|
;
|
||||||
|
|
||||||
/* freed below */
|
/* freed below */
|
||||||
nodes = malloc (nnodes * sizeof (FcSortNode) +
|
nodes = malloc (nnodes * sizeof (FcSortNode) +
|
||||||
nnodes * sizeof (FcSortNode *) +
|
nnodes * sizeof (FcSortNode *) +
|
||||||
|
@ -1311,7 +1309,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
|
||||||
for (i = 0; i < nPatternLang; i++)
|
for (i = 0; i < nPatternLang; i++)
|
||||||
{
|
{
|
||||||
FcValue nodeLang;
|
FcValue nodeLang;
|
||||||
|
|
||||||
if (!patternLangSat[i] &&
|
if (!patternLangSat[i] &&
|
||||||
FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
|
FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
|
||||||
FcPatternGet (nodeps[f]->pattern, FC_LANG, 0, &nodeLang) == 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 (FONT_HAS_HINT, FcTypeBool, FcCompareBool)
|
||||||
FC_OBJECT (ORDER, FcTypeInteger, FcCompareNumber)
|
FC_OBJECT (ORDER, FcTypeInteger, FcCompareNumber)
|
||||||
FC_OBJECT (DESKTOP_NAME, FcTypeString, NULL)
|
FC_OBJECT (DESKTOP_NAME, FcTypeString, NULL)
|
||||||
FC_OBJECT (NAMED_INSTANCE, FcTypeBool, FcCompareBool)
|
|
||||||
FC_OBJECT (FONT_WRAPPER, FcTypeString, FcCompareString)
|
|
||||||
/* ^-------------- Add new objects here. */
|
/* ^-------------- Add new objects here. */
|
||||||
|
|
|
@ -3689,10 +3689,7 @@ bail0:
|
||||||
if (realfilename)
|
if (realfilename)
|
||||||
FcStrFree (realfilename);
|
FcStrFree (realfilename);
|
||||||
if (!complain)
|
if (!complain)
|
||||||
{
|
|
||||||
FcStrBufDestroy (&reason);
|
|
||||||
return FcTrue;
|
return FcTrue;
|
||||||
}
|
|
||||||
if (!ret && complain_again)
|
if (!ret && complain_again)
|
||||||
{
|
{
|
||||||
if (name)
|
if (name)
|
||||||
|
|
|
@ -31,10 +31,12 @@ fc_sources = [
|
||||||
|
|
||||||
# FIXME: obviously fragile, cc.preprocess would be sweet
|
# FIXME: obviously fragile, cc.preprocess would be sweet
|
||||||
cpp = cc.cmd_array()
|
cpp = cc.cmd_array()
|
||||||
if cc.get_argument_syntax() == 'gcc'
|
if cc.get_id() == 'gcc'
|
||||||
cpp += ['-E', '-P']
|
cpp += ['-E', '-P']
|
||||||
elif cc.get_argument_syntax() == 'msvc'
|
elif cc.get_id() == 'msvc'
|
||||||
cpp += ['/EP']
|
cpp += ['/EP']
|
||||||
|
elif cc.get_id() == 'clang'
|
||||||
|
cpp += ['-E', '-P']
|
||||||
else
|
else
|
||||||
error('FIXME: implement cc.preprocess')
|
error('FIXME: implement cc.preprocess')
|
||||||
endif
|
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 {
|
struct _FcConfig {
|
||||||
FcStrSet *configDirs; /* directories to scan for fonts */
|
FcStrSet *configDirs; /* directories to scan for fonts */
|
||||||
|
FcStrSet *configMapDirs;
|
||||||
FcStrSet *fontDirs;
|
FcStrSet *fontDirs;
|
||||||
FcStrSet *cacheDirs;
|
FcStrSet *cacheDirs;
|
||||||
FcStrSet *configFiles; /* config files loaded */
|
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