Finnish hyphenation of compounds: is integrating FST tech something that this project would like?

Open
#34 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python, tex

Research direction

The issue discusses integrating Finnish finite-state technology (like Pykko) for compound hyphenation. Start by examining the existing hyphenation patterns in the project, likely in pattern files. Research Pykko's MIT license and its lemma-splitting capabilities. Determine how to thin down Pykko or use a word list to avoid performance issues. Check the project's architecture for adding language-specific analysis modules.

Written by the indexing model from the issue text.

Description

Hi,
There's a wealth of Finnish-language finite-state tech (Voikko, Omorfi and Pykko off the top of my head being somewhat relevant to this) that can split compounds and lemmatize. Leveraging one of them (I'd propose pykko, perhaps somehow thinned down from the full feature set to just lemma-splitting; pykko is MIT) would allow dealing with one of the hyphenation patterns that the Institute for the Languages of Finland recommends against (https://kielitoimistonohjepankki.fi/ohje/tavutus-yleisperiaatteet/): Hyphenating compounds in places that are not compound boundaries. Compounds are common in Finnish, productive (ie. not listable; pykko can parse unknown compounds pretty well) and look really weird when mishyphenated, causing at least me to have to pause and re-read the end of the line.

I've worked with all of the FSTs above in the past in a professional capacity and could try to make a PR for integrating one of them. However, is this much language specific complexity something that this project would be OK taking on? The full pykko is somewhat slow, though perhaps a thinned down-version could be devised or a list of n-thousand most common words could be used as a way to only run analysis on a small percentage of cases. What are your takes?

Dominant language
TeX
Stars
147
Forks
22
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from typst/hypher

All issues in typst/hypher

Similar issues

More Internationalization issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.