Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • F fontconfig
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 181
    • Issues 181
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 23
    • Merge requests 23
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • fontconfig
  • fontconfig
  • Issues
  • #197
Closed
Open
Issue created Nov 22, 2019 by Nicolas Mailhot@nim

Please add <group> → <match> → <bad-lang>

This is a part of: #200

Purpose

The bad-lang element in a match block is used to declare locales, a set of font files is definitely unsuitable for.

Proposed syntax

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
  <group>
    <target>@canonical_family_name@</target>
    <match>
      <family>@technical_name@</family>
      <bad-lang>@bad_lang_tag@</bad-lang>
    </match>
  </group>
</fontconfig>

Behaviour

bad-lang completely removes font files, when assembling @canonical_family_name@ for the @bad_lang_tag@ locale. They are not kept as fallback. We know they are wrong.

Tagging files that already match @canonical_family_name@, with @bad_lang_tag@, can be done with a specific match block inside merge.

Substitution

bad-lang also affects substitution. Files, tagged with bad-lang, are ignored, when substituting in a @bad_lang_tag@ context.

Past alternatives

This is similar to the following proposal. However, this proposal does not provide the kind of flexibility, allowed by good-lang + bad-lang rules in an group context.

<match target="scan">
  <test name="family">
    <string>font name</string>
  </test>
  <edit name="lang" mode="assign">
    <minus>
      <name>lang</name>
      <langset>
        <string>@bad_lang_tag@</string>
        ...
      </langset>
    </minus>
  </edit>
</match>

Minimal real-world example

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
  <group>
    <target>Droid Sans</target>
    <match>
      <family>Droid Sans Japanese</family>
      <bad-lang>zh</bad-lang>
    </match>
  </group>
</fontconfig>
Edited Nov 23, 2019 by Nicolas Mailhot
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking