typst / typst/hypher

Include exceptions from hyphenex

Open
#17 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
142
Forks
20
PR merge metrics
No merged PRs in 30d

Description

This hyphenation exceptions log, as given by the hyphenex package, details cases in US English where the default TeX hyphenation is not correct. Examples include:

  • codesigner is given as code-signer, when it should be co-designer;
  • dataset is unhyphenated, but should be given as data-set;
  • buzzword is given as buz-zword, when it should be buzz-word.

But there are pages and pages of these, and most for words that are in no way esoteric. (As it happens, when making this issue I encountered a word not listed on that list: coauthor should probably be co·author or and not coau·thor – so there are likely many more undocumented exceptions that exist.)

As a user, this goes against my expectations for how this library would behave. It is possible that people can configure individual words on a case-by-case basis, but I argue that this library should attempt to provide defaults that work in as many cases as possible, because we cannot expect the majority of users to know anything about hyphenation, especially not enough to configure it in such a fine-grained way.

Hence, I suggest that this library takes into account these exceptions (it is a public domain/very permissively-licensed list, so this should be no problem) by default. It’s possible it could allow disabling them with a feature flag, but to be honest I don’t see the use case for this.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the hyphenex exceptions log and package, then compare its examples with the library's current default hyphenation behavior. Define how the public-domain exceptions should be incorporated by default and whether disabling them needs a feature flag; done means the listed examples receive the expected breaks.

Written by the indexing model from the issue text.

Assessment

Tech stack
tex
Domain
internationalization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.