packages feed

hyphenation 0.7.1 → 0.8

raw patch · 299 files changed

+349/−235 lines, 299 filesdep +textdep ~bytestringdep ~doctestbinary-addedPVP ok

version bump matches the API change (PVP)

Dependencies added: text

Dependency ranges changed: bytestring, doctest

API changes (from Hackage documentation)

- Text.Hyphenation.Exception: instance Data.Semigroup.Semigroup Text.Hyphenation.Exception.Exceptions
- Text.Hyphenation.Hyphenator: defaultLeftMin :: Int
- Text.Hyphenation.Hyphenator: defaultRightMin :: Int
- Text.Hyphenation.Pattern: instance Data.Semigroup.Semigroup Text.Hyphenation.Pattern.Patterns
+ Text.Hyphenation.Exception: instance GHC.Base.Semigroup Text.Hyphenation.Exception.Exceptions
+ Text.Hyphenation.Language: Armenian :: Language
+ Text.Hyphenation.Language: Assamese :: Language
+ Text.Hyphenation.Language: Occitan :: Language
+ Text.Hyphenation.Language: armenian :: Hyphenator
+ Text.Hyphenation.Language: assamese :: Hyphenator
+ Text.Hyphenation.Language: occitan :: Hyphenator
+ Text.Hyphenation.Pattern: instance GHC.Base.Semigroup Text.Hyphenation.Pattern.Patterns
- Text.Hyphenation.Language: loadHyphenator :: String -> IO Hyphenator
+ Text.Hyphenation.Language: loadHyphenator :: Language -> IO Hyphenator

Files

.travis.yml view
@@ -1,160 +1,179 @@ # This Travis job script has been generated by a script via #-#   runghc make_travis_yml_2.hs '-o' '.travis.yml' '--irc-channel=irc.freenode.org#haskell-lens' '--no-no-tests-no-bench' '--no-installed' 'cabal.project'+#   haskell-ci '--output=.travis.yml' '--config=cabal.haskell-ci' 'cabal.project' #-# For more information, see https://github.com/hvr/multi-ghc-travis+# For more information, see https://github.com/haskell-CI/haskell-ci #+# version: 0.3.20190425+# language: c-sudo: false-+dist: xenial git:-  submodules: false  # whether to recursively clone submodules-+  # whether to recursively clone submodules+  submodules: false notifications:   irc:     channels:-      - "irc.freenode.org#haskell-lens"+      - irc.freenode.org#haskell-lens     skip_join: true     template:-      - "\x0313hyphenation\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"-+      - "\"\\x0313hyphenation\\x03/\\x0306%{branch}\\x03 \\x0314%{commit}\\x03 %{build_url} %{message}\"" cache:   directories:     - $HOME/.cabal/packages     - $HOME/.cabal/store- before_cache:-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log+  - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log   # remove files that are regenerated by 'cabal update'-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar-  - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx--  - rm -rfv $HOME/.cabal/packages/head.hackage--addons:-  apt:-    packages: &apt_packages-      - ghc-ppa-tools-      - hlint-+  - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*+  - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json+  - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache+  - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar+  - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx+  - rm -rfv $CABALHOME/packages/head.hackage matrix:   include:-    - compiler: "ghc-7.0.4"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.0.4], sources: [hvr-ghc]}}-    - compiler: "ghc-7.2.2"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.2.2], sources: [hvr-ghc]}}-    - compiler: "ghc-7.4.2"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.4.2], sources: [hvr-ghc]}}-    - compiler: "ghc-7.6.3"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.6.3], sources: [hvr-ghc]}}-    - compiler: "ghc-7.8.4"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.8.4], sources: [hvr-ghc]}}-    - compiler: "ghc-7.10.3"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-7.10.3], sources: [hvr-ghc]}}-    - compiler: "ghc-8.0.2"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-8.0.2], sources: [hvr-ghc]}}-    - compiler: "ghc-8.2.2"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-8.2.2], sources: [hvr-ghc]}}-    - compiler: "ghc-8.2.2"-    # env: TEST=--disable-tests BENCH=--disable-benchmarks-      env: CABALFLAGS=-fembed-      addons: {apt: {packages: [*apt_packages,cabal-install-2.0,ghc-8.2.2], sources: [hvr-ghc]}}-    - compiler: "ghc-8.4.1"+    - compiler: ghc-8.8.1+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}}       env: GHCHEAD=true-      addons: {apt: {packages: [*apt_packages,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}-    - compiler: "ghc-head"+    - compiler: ghc-8.6.5+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}+    - compiler: ghc-8.4.4+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}+    - compiler: ghc-8.2.2+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}}+    - compiler: ghc-8.0.2+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}+    - compiler: ghc-7.10.3+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.10.3","cabal-install-2.4"]}}+    - compiler: ghc-7.8.4+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.8.4","cabal-install-2.4"]}}+    - compiler: ghc-7.6.3+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.6.3","cabal-install-2.4"]}}+    - compiler: ghc-head+      addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-head","cabal-install-head"]}}       env: GHCHEAD=true-      addons: {apt: {packages: [*apt_packages,cabal-install-head,ghc-head], sources: [hvr-ghc]}}-   allow_failures:-    - compiler: "ghc-7.0.4"-    - compiler: "ghc-7.2.2"-    - compiler: "ghc-8.4.1"-    - compiler: "ghc-head"-+    - compiler: ghc-head+    - compiler: ghc-8.8.1 before_install:-  - HC=${CC}-  - HCPKG=${HC/ghc/ghc-pkg}+  - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')+  - HCPKG="$HC-pkg"   - unset CC-  - ROOTDIR=$(pwd)-  - mkdir -p $HOME/.local/bin-  - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"+  - CABAL=/opt/ghc/bin/cabal+  - CABALHOME=$HOME/.cabal+  - export PATH="$CABALHOME/bin:$PATH"+  - TOP=$(pwd)   - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))   - echo $HCNUMVER-+  - CABAL="$CABAL -vnormal+nowrap+markoutput"+  - set -o pipefail+  - |+    echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }'           >> .colorful.awk+    echo 'BEGIN { state = "output"; }'                                     >> .colorful.awk+    echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }'            >> .colorful.awk+    echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }'             >> .colorful.awk+    echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk+    echo '  if (state == "cabal") {'                                       >> .colorful.awk+    echo '    print blue($0)'                                              >> .colorful.awk+    echo '  } else {'                                                      >> .colorful.awk+    echo '    print $0'                                                    >> .colorful.awk+    echo '  }'                                                             >> .colorful.awk+    echo '}'                                                               >> .colorful.awk+  - cat .colorful.awk+  - |+    color_cabal_output () {+      awk -f $TOP/.colorful.awk+    }+  - echo text | color_cabal_output install:-  - cabal --version+  - ${CABAL} --version   - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"-  - BENCH=${BENCH---enable-benchmarks}-  - TEST=${TEST---enable-tests}-  - HADDOCK=${HADDOCK-true}-  - INSTALLED=${INSTALLED-true}+  - TEST=--enable-tests+  - BENCH=--enable-benchmarks   - GHCHEAD=${GHCHEAD-false}-  - travis_retry cabal update -v-  - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"-  - rm -fv cabal.project cabal.project.local-  # Overlay Hackage Package Index for GHC HEAD: https://github.com/hvr/head.hackage+  - rm -f $CABALHOME/config   - |+    echo "verbose: normal +nowrap +markoutput"          >> $CABALHOME/config+    echo "remote-build-reporting: anonymous"            >> $CABALHOME/config+    echo "remote-repo-cache: $CABALHOME/packages"       >> $CABALHOME/config+    echo "logs-dir:          $CABALHOME/logs"           >> $CABALHOME/config+    echo "world-file:        $CABALHOME/world"          >> $CABALHOME/config+    echo "extra-prog-path:   $CABALHOME/bin"            >> $CABALHOME/config+    echo "symlink-bindir:    $CABALHOME/bin"            >> $CABALHOME/config+    echo "installdir:        $CABALHOME/bin"            >> $CABALHOME/config+    echo "build-summary:     $CABALHOME/logs/build.log" >> $CABALHOME/config+    echo "store-dir:         $CABALHOME/store"          >> $CABALHOME/config+    echo "install-dirs user"                            >> $CABALHOME/config+    echo "  prefix: $CABALHOME"                         >> $CABALHOME/config+    echo "repository hackage.haskell.org"               >> $CABALHOME/config+    echo "  url: http://hackage.haskell.org/"           >> $CABALHOME/config+  - |     if $GHCHEAD; then-      sed -i.bak 's/-- allow-newer:.*/allow-newer: *:base, *:template-haskell, *:ghc, *:Cabal/' ${HOME}/.cabal/config--      echo 'repository head.hackage'                                                        >> ${HOME}/.cabal/config-      echo '   url: http://head.hackage.haskell.org/'                                       >> ${HOME}/.cabal/config-      echo '   secure: True'                                                                >> ${HOME}/.cabal/config-      echo '   root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740' >> ${HOME}/.cabal/config-      echo '              2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb' >> ${HOME}/.cabal/config-      echo '              8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e' >> ${HOME}/.cabal/config-      echo '   key-threshold: 3'                                                            >> ${HOME}/.cabal.config--      cabal new-update head.hackage -v-    fi-  - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'-  - "printf 'packages: \".\"\\n' > cabal.project"-  - cat cabal.project-  - if [ -f "./configure.ac" ]; then-      (cd "." && autoreconf -i);+    echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config+    +    echo "repository head.hackage"                                                        >> $CABALHOME/config+    echo "   url: http://head.hackage.haskell.org/"                                       >> $CABALHOME/config+    echo "   secure: True"                                                                >> $CABALHOME/config+    echo "   root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740" >> $CABALHOME/config+    echo "              2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb" >> $CABALHOME/config+    echo "              8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e" >> $CABALHOME/config+    echo "   key-threshold: 3"                                                            >> $CABALHOME/config     fi-  - rm -f cabal.project.freeze-  - cabal new-build -w ${HC} ${CABALFLAGS} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all-  - rm -rf "."/.ghc.environment.* "."/dist-  - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)--# Here starts the actual work to be performed for the package under test;-# any command which exits with a non-zero exit code causes the build to fail.+  - cat $CABALHOME/config+  - rm -fv cabal.project cabal.project.local cabal.project.freeze+  - travis_retry ${CABAL} v2-update -v+  - if [ $HCNUMVER -eq 80801 ] ; then ${CABAL} v2-install -w ${HC} -j2 hlint --constraint='hlint ==2.1.*' | color_cabal_output ; fi+  # Generate cabal.project+  - rm -rf cabal.project cabal.project.local cabal.project.freeze+  - touch cabal.project+  - |+    echo 'packages: "."' >> cabal.project+  - |+    echo "write-ghc-environment-files: always" >> cabal.project+  - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(hyphenation)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"+  - cat cabal.project || true+  - cat cabal.project.local || true+  - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi+  - ${CABAL} v2-freeze -w ${HC} ${TEST} ${BENCH} | color_cabal_output+  - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"+  - rm  cabal.project.freeze+  - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all | color_cabal_output script:-  # test that source-distributions can be generated-  - (cd "." && cabal sdist)-  - mv "."/dist/hyphenation-*.tar.gz ${DISTDIR}/+  - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)+  # Packaging...+  - ${CABAL} v2-sdist all | color_cabal_output+  # Unpacking...+  - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/   - cd ${DISTDIR} || false   - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;-  - "printf 'packages: hyphenation-*/*.cabal\\n' > cabal.project"-  - cat cabal.project--+  # Generate cabal.project+  - rm -rf cabal.project cabal.project.local cabal.project.freeze+  - touch cabal.project+  - |+    echo 'packages: "hyphenation-*/*.cabal"' >> cabal.project+  - |+    echo "write-ghc-environment-files: always" >> cabal.project+  - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | grep -vE -- '^(hyphenation)$' | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"+  - cat cabal.project || true+  - cat cabal.project.local || true+  # Building with tests and benchmarks...   # build & run tests, build benchmarks-  - cabal new-build -w ${HC} ${CABALFLAGS} ${TEST} ${BENCH} all-  - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${CABALFLAGS} ${TEST} ${BENCH} all; fi--  # cabal check-  - (cd hyphenation-* && cabal check)--  # haddock-  - rm -rf ./dist-newstyle-  - if $HADDOCK; then cabal new-haddock -w ${HC} ${CABALFLAGS} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi--  # hlint-  - (cd hyphenation-* && hlint src --cpp-define=HLINT --cpp-ansi)+  - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} all | color_cabal_output+  # Testing...+  - ${CABAL} v2-test -w ${HC} ${TEST} ${BENCH} all | color_cabal_output+  # HLint..+  - if [ $HCNUMVER -eq 80801 ] ; then (cd hyphenation-* && hlint --cpp-ansi --cpp-define=HLINT src) ; fi+  # cabal check...+  - (cd hyphenation-* && ${CABAL} -vnormal check)+  # haddock...+  - ${CABAL} v2-haddock -w ${HC} ${TEST} ${BENCH} all | color_cabal_output+  # Constraint sets+  - rm -rf cabal.project.local+  # Constraint set embed+  - if [ $HCNUMVER -ge 70600 ] ; then ${CABAL} v2-build -w ${HC} --enable-tests --enable-benchmarks --constraint='hyphenation +embed' all | color_cabal_output ; fi+  - if [ $HCNUMVER -ge 70600 ] ; then ${CABAL} v2-test -w ${HC} --enable-tests --enable-benchmarks --constraint='hyphenation +embed' all | color_cabal_output ; fi+  - if [ $HCNUMVER -ge 70600 ] ; then ${CABAL} v2-haddock -w ${HC} --enable-tests --enable-benchmarks --constraint='hyphenation +embed' all | color_cabal_output ; fi -# REGENDATA ["-o",".travis.yml","--irc-channel=irc.freenode.org#haskell-lens","--no-no-tests-no-bench","--no-installed","cabal.project"]+# REGENDATA ["--output=.travis.yml","--config=cabal.haskell-ci","cabal.project"] # EOF
CHANGELOG.markdown view
@@ -1,3 +1,11 @@+0.8+---+* Per-language default hyphenation minimums+* Correct handling of UTF-8 language definitions, such as Russian.+* `loadHyphenator` now takes a `Language` rather than the string for its affix.+* Updated language files.+* Added Armenian, Assamese, and Occitan.+ 0.7.1 [2018.01.18] ------------------ * Add `Semigroup` instances for `Exceptions` and `Patterns`.
HLint.hs view
@@ -1,1 +1,2 @@-ignore "use camelCase"+ignore "Use camelCase"+ignore "Missing NOINLINE pragma"
data/hyph-af.chr.txt.gz view

binary file changed (163 → 163 bytes)

data/hyph-af.hyp.txt.gz view

binary file changed (1407 → 1407 bytes)

data/hyph-af.lic.txt.gz view

binary file changed (576 → 541 bytes)

data/hyph-af.pat.txt.gz view

binary file changed (36758 → 36758 bytes)

data/hyph-as.chr.txt.gz view

binary file changed (181 → 181 bytes)

data/hyph-as.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-as.lic.txt.gz view

binary file changed (628 → 788 bytes)

data/hyph-as.pat.txt.gz view

binary file changed (198 → 198 bytes)

data/hyph-bg.chr.txt.gz view

binary file changed (144 → 144 bytes)

data/hyph-bg.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-bg.lic.txt.gz view

binary file changed (824 → 790 bytes)

data/hyph-bg.pat.txt.gz view

binary file changed (3512 → 3512 bytes)

data/hyph-bn.chr.txt.gz view

binary file changed (181 → 181 bytes)

data/hyph-bn.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-bn.lic.txt.gz view

binary file changed (628 → 789 bytes)

data/hyph-bn.pat.txt.gz view

binary file changed (198 → 198 bytes)

data/hyph-ca.chr.txt.gz view

binary file changed (149 → 149 bytes)

data/hyph-ca.hyp.txt.gz view

binary file changed (149 → 149 bytes)

data/hyph-ca.lic.txt.gz view

binary file changed (2404 → 1290 bytes)

data/hyph-ca.pat.txt.gz view

binary file changed (1993 → 1993 bytes)

data/hyph-cop.chr.txt.gz view

binary file changed (175 → 175 bytes)

data/hyph-cop.hyp.txt.gz view

binary file changed (37 → 37 bytes)

data/hyph-cop.lic.txt.gz view

binary file changed (1751 → 1704 bytes)

data/hyph-cop.pat.txt.gz view

binary file changed (1520 → 1521 bytes)

data/hyph-cs.chr.txt.gz view

binary file changed (176 → 176 bytes)

data/hyph-cs.hyp.txt.gz view

binary file changed (92 → 92 bytes)

data/hyph-cs.lic.txt.gz view

binary file changed (1900 → 765 bytes)

data/hyph-cs.pat.txt.gz view

binary file changed (10869 → 10869 bytes)

data/hyph-cy.chr.txt.gz view

binary file changed (131 → 131 bytes)

data/hyph-cy.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-cy.lic.txt.gz view

binary file changed (558 → 526 bytes)

data/hyph-cy.pat.txt.gz view

binary file changed (20704 → 20704 bytes)

data/hyph-da.chr.txt.gz view

binary file changed (126 → 126 bytes)

data/hyph-da.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-da.lic.txt.gz view

binary file changed (1655 → 500 bytes)

data/hyph-da.pat.txt.gz view

binary file changed (3293 → 3293 bytes)

data/hyph-de-1901.chr.txt.gz view

binary file changed (179 → 179 bytes)

data/hyph-de-1901.hyp.txt.gz view

binary file changed (41 → 41 bytes)

data/hyph-de-1901.lic.txt.gz view

binary file changed (596 → 555 bytes)

data/hyph-de-1901.pat.txt.gz view

binary file changed (50233 → 50233 bytes)

data/hyph-de-1996.chr.txt.gz view

binary file changed (179 → 179 bytes)

data/hyph-de-1996.hyp.txt.gz view

binary file changed (41 → 41 bytes)

data/hyph-de-1996.lic.txt.gz view

binary file changed (606 → 563 bytes)

data/hyph-de-1996.pat.txt.gz view

binary file changed (48744 → 48744 bytes)

data/hyph-de-ch-1901.chr.txt.gz view

binary file changed (182 → 182 bytes)

data/hyph-de-ch-1901.hyp.txt.gz view

binary file changed (44 → 44 bytes)

data/hyph-de-ch-1901.lic.txt.gz view

binary file changed (615 → 571 bytes)

data/hyph-de-ch-1901.pat.txt.gz view

binary file changed (49347 → 49347 bytes)

data/hyph-el-monoton.chr.txt.gz view

binary file changed (237 → 237 bytes)

data/hyph-el-monoton.hyp.txt.gz view

binary file changed (44 → 44 bytes)

data/hyph-el-monoton.lic.txt.gz view

binary file changed (764 → 718 bytes)

data/hyph-el-monoton.pat.txt.gz view

binary file changed (1431 → 1431 bytes)

data/hyph-el-polyton.chr.txt.gz view

binary file changed (669 → 669 bytes)

data/hyph-el-polyton.hyp.txt.gz view

binary file changed (44 → 44 bytes)

data/hyph-el-polyton.lic.txt.gz view

binary file changed (799 → 751 bytes)

data/hyph-el-polyton.pat.txt.gz view

binary file changed (3612 → 3611 bytes)

data/hyph-en-gb.chr.txt.gz view

binary file changed (108 → 108 bytes)

data/hyph-en-gb.hyp.txt.gz view

binary file changed (109 → 109 bytes)

data/hyph-en-gb.lic.txt.gz view

binary file changed (1199 → 1166 bytes)

data/hyph-en-gb.pat.txt.gz view

binary file changed (27795 → 27795 bytes)

data/hyph-en-us.chr.txt.gz view

binary file changed (108 → 108 bytes)

data/hyph-en-us.hyp.txt.gz view

binary file changed (141 → 141 bytes)

data/hyph-en-us.lic.txt.gz view

binary file changed (937 → 895 bytes)

data/hyph-en-us.pat.txt.gz view

binary file changed (16804 → 16804 bytes)

data/hyph-eo.chr.txt.gz view

binary file changed (131 → 131 bytes)

data/hyph-eo.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-eo.lic.txt.gz view

binary file changed (738 → 700 bytes)

data/hyph-eo.pat.txt.gz view

binary file changed (6501 → 6499 bytes)

data/hyph-es.chr.txt.gz view

binary file changed (140 → 140 bytes)

data/hyph-es.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-es.lic.txt.gz view

binary file changed (994 → 952 bytes)

data/hyph-es.pat.txt.gz view

binary file changed (9679 → 9679 bytes)

data/hyph-et.chr.txt.gz view

binary file changed (132 → 132 bytes)

data/hyph-et.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-et.lic.txt.gz view

binary file changed (1715 → 1165 bytes)

data/hyph-et.pat.txt.gz view

binary file changed (11662 → 11662 bytes)

data/hyph-eu.chr.txt.gz view

binary file changed (114 → 114 bytes)

data/hyph-eu.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-eu.lic.txt.gz view

binary file changed (985 → 954 bytes)

data/hyph-eu.pat.txt.gz view

binary file changed (415 → 415 bytes)

data/hyph-fi.chr.txt.gz view

binary file changed (115 → 115 bytes)

data/hyph-fi.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-fi.lic.txt.gz view

binary file changed (1665 → 521 bytes)

data/hyph-fi.pat.txt.gz view

binary file changed (727 → 727 bytes)

data/hyph-fr.chr.txt.gz view

binary file changed (163 → 163 bytes)

data/hyph-fr.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-fr.lic.txt.gz view

binary file changed (2342 → 1183 bytes)

data/hyph-fr.pat.txt.gz view

binary file changed (3856 → 3855 bytes)

data/hyph-fur.chr.txt.gz view

binary file changed (129 → 129 bytes)

data/hyph-fur.hyp.txt.gz view

binary file changed (37 → 37 bytes)

data/hyph-fur.lic.txt.gz view

binary file changed (834 → 800 bytes)

data/hyph-fur.pat.txt.gz view

binary file changed (1092 → 1092 bytes)

data/hyph-ga.chr.txt.gz view

binary file changed (131 → 131 bytes)

data/hyph-ga.hyp.txt.gz view

binary file changed (206 → 206 bytes)

data/hyph-ga.lic.txt.gz view

binary file changed (2042 → 916 bytes)

data/hyph-ga.pat.txt.gz view

binary file changed (20143 → 20143 bytes)

data/hyph-gl.chr.txt.gz view

binary file changed (140 → 140 bytes)

data/hyph-gl.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-gl.lic.txt.gz view

binary file changed (401 → 369 bytes)

data/hyph-gl.pat.txt.gz view

binary file changed (5987 → 5992 bytes)

data/hyph-grc.chr.txt.gz view

binary file changed (662 → 662 bytes)

data/hyph-grc.hyp.txt.gz view

binary file changed (37 → 37 bytes)

data/hyph-grc.lic.txt.gz view

binary file changed (858 → 823 bytes)

data/hyph-grc.pat.txt.gz view

binary file changed (13881 → 13902 bytes)

data/hyph-gu.chr.txt.gz view

binary file changed (173 → 173 bytes)

data/hyph-gu.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-gu.lic.txt.gz view

binary file changed (630 → 789 bytes)

data/hyph-gu.pat.txt.gz view

binary file changed (184 → 184 bytes)

data/hyph-hi.chr.txt.gz view

binary file changed (183 → 183 bytes)

data/hyph-hi.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-hi.lic.txt.gz view

binary file changed (627 → 787 bytes)

data/hyph-hi.pat.txt.gz view

binary file changed (189 → 189 bytes)

data/hyph-hr.chr.txt.gz view

binary file changed (128 → 128 bytes)

data/hyph-hr.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-hr.lic.txt.gz view

binary file changed (498 → 468 bytes)

data/hyph-hr.pat.txt.gz view

binary file changed (3366 → 3366 bytes)

data/hyph-hsb.chr.txt.gz view

binary file changed (150 → 150 bytes)

data/hyph-hsb.hyp.txt.gz view

binary file changed (184 → 184 bytes)

data/hyph-hsb.lic.txt.gz view

binary file changed (1702 → 550 bytes)

data/hyph-hsb.pat.txt.gz view

binary file changed (3749 → 3749 bytes)

data/hyph-hu.chr.txt.gz view

binary file changed (156 → 156 bytes)

data/hyph-hu.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-hu.lic.txt.gz view

binary file changed (934 → 898 bytes)

data/hyph-hu.pat.txt.gz view

binary file changed (198053 → 198067 bytes)

data/hyph-hy.chr.txt.gz view

binary file changed (163 → 163 bytes)

data/hyph-hy.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-hy.lic.txt.gz view

binary file changed (523 → 485 bytes)

data/hyph-hy.pat.txt.gz view

binary file changed (2743 → 2743 bytes)

data/hyph-ia.chr.txt.gz view

binary file changed (105 → 105 bytes)

data/hyph-ia.hyp.txt.gz view

binary file changed (97 → 97 bytes)

data/hyph-ia.lic.txt.gz view

binary file changed (1854 → 712 bytes)

data/hyph-ia.pat.txt.gz view

binary file changed (1666 → 1666 bytes)

data/hyph-id.chr.txt.gz view

binary file changed (104 → 104 bytes)

data/hyph-id.hyp.txt.gz view

binary file changed (225 → 225 bytes)

data/hyph-id.lic.txt.gz view

binary file changed (1945 → 827 bytes)

data/hyph-id.pat.txt.gz view

binary file changed (361 → 361 bytes)

data/hyph-is.chr.txt.gz view

binary file changed (156 → 156 bytes)

data/hyph-is.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-is.lic.txt.gz view

binary file changed (1714 → 575 bytes)

data/hyph-is.pat.txt.gz view

binary file changed (13482 → 13482 bytes)

data/hyph-it.chr.txt.gz view

binary file changed (120 → 120 bytes)

data/hyph-it.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-it.lic.txt.gz view

binary file changed (849 → 817 bytes)

data/hyph-it.pat.txt.gz view

binary file changed (949 → 949 bytes)

data/hyph-ka.chr.txt.gz view

binary file changed (115 → 115 bytes)

data/hyph-ka.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-ka.lic.txt.gz view

binary file changed (595 → 563 bytes)

data/hyph-ka.pat.txt.gz view

binary file changed (6292 → 6341 bytes)

data/hyph-kmr.chr.txt.gz view

binary file changed (141 → 141 bytes)

data/hyph-kmr.hyp.txt.gz view

binary file changed (37 → 37 bytes)

data/hyph-kmr.lic.txt.gz view

binary file changed (605 → 564 bytes)

data/hyph-kmr.pat.txt.gz view

binary file changed (799 → 799 bytes)

data/hyph-kn.chr.txt.gz view

binary file changed (190 → 190 bytes)

data/hyph-kn.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-kn.lic.txt.gz view

binary file changed (628 → 788 bytes)

data/hyph-kn.pat.txt.gz view

binary file changed (193 → 193 bytes)

data/hyph-la-x-classic.chr.txt.gz view

binary file changed (109 → 109 bytes)

data/hyph-la-x-classic.hyp.txt.gz view

binary file changed (46 → 46 bytes)

data/hyph-la-x-classic.lic.txt.gz view

binary file changed (648 → 618 bytes)

data/hyph-la-x-classic.pat.txt.gz view

binary file changed (2057 → 2057 bytes)

data/hyph-la.chr.txt.gz view

binary file changed (119 → 119 bytes)

data/hyph-la.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-la.lic.txt.gz view

binary file changed (2364 → 2333 bytes)

data/hyph-la.pat.txt.gz view

binary file changed (777 → 777 bytes)

data/hyph-lt.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-lt.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-lt.lic.txt.gz view

binary file changed (976 → 940 bytes)

data/hyph-lt.pat.txt.gz view

binary file changed (4166 → 4166 bytes)

data/hyph-lv.chr.txt.gz view

binary file changed (148 → 148 bytes)

data/hyph-lv.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-lv.lic.txt.gz view

binary file changed (424 → 383 bytes)

data/hyph-lv.pat.txt.gz view

binary file changed (32362 → 32285 bytes)

data/hyph-ml.chr.txt.gz view

binary file changed (196 → 196 bytes)

data/hyph-ml.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-ml.lic.txt.gz view

binary file changed (631 → 787 bytes)

data/hyph-ml.pat.txt.gz view

binary file changed (239 → 239 bytes)

data/hyph-mn-cyrl.chr.txt.gz view

binary file changed (166 → 166 bytes)

data/hyph-mn-cyrl.hyp.txt.gz view

binary file changed (41 → 41 bytes)

data/hyph-mn-cyrl.lic.txt.gz view

binary file changed (1948 → 799 bytes)

data/hyph-mn-cyrl.pat.txt.gz view

binary file changed (2863 → 2870 bytes)

data/hyph-mr.chr.txt.gz view

binary file changed (183 → 183 bytes)

data/hyph-mr.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-mr.lic.txt.gz view

binary file changed (629 → 786 bytes)

data/hyph-mr.pat.txt.gz view

binary file changed (189 → 189 bytes)

data/hyph-mul-ethi.chr.txt.gz view

binary file changed (732 → 732 bytes)

data/hyph-mul-ethi.hyp.txt.gz view

binary file changed (42 → 42 bytes)

data/hyph-mul-ethi.lic.txt.gz view

binary file changed (651 → 610 bytes)

data/hyph-mul-ethi.pat.txt.gz view

binary file changed (797 → 797 bytes)

data/hyph-nb.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-nb.hyp.txt.gz view

binary file changed (53 → 53 bytes)

data/hyph-nb.lic.txt.gz view

binary file changed (600 → 567 bytes)

data/hyph-nb.pat.txt.gz view

binary file changed (94017 → 94018 bytes)

data/hyph-nl.chr.txt.gz view

binary file changed (156 → 156 bytes)

data/hyph-nl.hyp.txt.gz view

binary file changed (292 → 292 bytes)

data/hyph-nl.lic.txt.gz view

binary file changed (2131 → 991 bytes)

data/hyph-nl.pat.txt.gz view

binary file changed (40068 → 40068 bytes)

data/hyph-nn.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-nn.hyp.txt.gz view

binary file changed (53 → 53 bytes)

data/hyph-nn.lic.txt.gz view

binary file changed (602 → 569 bytes)

data/hyph-nn.pat.txt.gz view

binary file changed (94017 → 94018 bytes)

+ data/hyph-oc.chr.txt.gz view

binary file changed (absent → 136 bytes)

+ data/hyph-oc.hyp.txt.gz view

binary file changed (absent → 36 bytes)

+ data/hyph-oc.lic.txt.gz view

binary file changed (absent → 574 bytes)

+ data/hyph-oc.pat.txt.gz view

binary file changed (absent → 724 bytes)

data/hyph-or.chr.txt.gz view

binary file changed (172 → 172 bytes)

data/hyph-or.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-or.lic.txt.gz view

binary file changed (627 → 785 bytes)

data/hyph-or.pat.txt.gz view

binary file changed (182 → 182 bytes)

data/hyph-pa.chr.txt.gz view

binary file changed (163 → 163 bytes)

data/hyph-pa.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-pa.lic.txt.gz view

binary file changed (629 → 788 bytes)

data/hyph-pa.pat.txt.gz view

binary file changed (172 → 172 bytes)

data/hyph-pl.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-pl.hyp.txt.gz view

binary file changed (164 → 164 bytes)

data/hyph-pl.lic.txt.gz view

binary file changed (1896 → 780 bytes)

data/hyph-pl.pat.txt.gz view

binary file changed (10963 → 10971 bytes)

data/hyph-pms.chr.txt.gz view

binary file changed (121 → 121 bytes)

data/hyph-pms.hyp.txt.gz view

binary file changed (37 → 37 bytes)

data/hyph-pms.lic.txt.gz view

binary file changed (780 → 748 bytes)

data/hyph-pms.pat.txt.gz view

binary file changed (949 → 949 bytes)

data/hyph-pt.chr.txt.gz view

binary file changed (156 → 156 bytes)

data/hyph-pt.hyp.txt.gz view

binary file changed (51 → 51 bytes)

data/hyph-pt.lic.txt.gz view

binary file changed (1826 → 1372 bytes)

data/hyph-pt.pat.txt.gz view

binary file changed (648 → 648 bytes)

data/hyph-rm.chr.txt.gz view

binary file changed (120 → 120 bytes)

data/hyph-rm.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-rm.lic.txt.gz view

binary file changed (905 → 873 bytes)

data/hyph-rm.pat.txt.gz view

binary file changed (1012 → 1012 bytes)

data/hyph-ro.chr.txt.gz view

binary file changed (126 → 126 bytes)

data/hyph-ro.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-ro.lic.txt.gz view

binary file changed (2174 → 1025 bytes)

data/hyph-ro.pat.txt.gz view

binary file changed (1852 → 1852 bytes)

data/hyph-ru.chr.txt.gz view

binary file changed (158 → 158 bytes)

data/hyph-ru.hyp.txt.gz view

binary file changed (1142 → 1142 bytes)

data/hyph-ru.lic.txt.gz view

binary file changed (1727 → 595 bytes)

data/hyph-ru.pat.txt.gz view

binary file changed (22289 → 22283 bytes)

data/hyph-sa.chr.txt.gz view

binary file changed (1053 → 1053 bytes)

data/hyph-sa.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-sa.lic.txt.gz view

binary file changed (425 → 372 bytes)

data/hyph-sa.pat.txt.gz view

binary file changed (1823 → 1823 bytes)

data/hyph-sh-cyrl.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-sh-cyrl.hyp.txt.gz view

binary file changed (453 → 453 bytes)

data/hyph-sh-cyrl.lic.txt.gz view

binary file changed (1114 → 1063 bytes)

data/hyph-sh-cyrl.pat.txt.gz view

binary file changed (7957 → 7974 bytes)

data/hyph-sh-latn.chr.txt.gz view

binary file changed (133 → 133 bytes)

data/hyph-sh-latn.hyp.txt.gz view

binary file changed (364 → 364 bytes)

data/hyph-sh-latn.lic.txt.gz view

binary file changed (1113 → 1063 bytes)

data/hyph-sh-latn.pat.txt.gz view

binary file changed (6957 → 6957 bytes)

data/hyph-sk.chr.txt.gz view

binary file changed (179 → 179 bytes)

data/hyph-sk.hyp.txt.gz view

binary file changed (84 → 84 bytes)

data/hyph-sk.lic.txt.gz view

binary file changed (1908 → 771 bytes)

data/hyph-sk.pat.txt.gz view

binary file changed (7226 → 7226 bytes)

data/hyph-sl.chr.txt.gz view

binary file changed (126 → 126 bytes)

data/hyph-sl.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-sl.lic.txt.gz view

binary file changed (1918 → 784 bytes)

data/hyph-sl.pat.txt.gz view

binary file changed (3229 → 3229 bytes)

data/hyph-sr-cyrl.chr.txt.gz view

binary file changed (145 → 145 bytes)

data/hyph-sr-cyrl.hyp.txt.gz view

binary file changed (538 → 538 bytes)

data/hyph-sr-cyrl.lic.txt.gz view

binary file changed (1734 → 588 bytes)

data/hyph-sr-cyrl.pat.txt.gz view

binary file changed (7421 → 7444 bytes)

data/hyph-sv.chr.txt.gz view

binary file changed (131 → 131 bytes)

data/hyph-sv.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-sv.lic.txt.gz view

binary file changed (2375 → 1263 bytes)

data/hyph-sv.pat.txt.gz view

binary file changed (15006 → 15006 bytes)

data/hyph-ta.chr.txt.gz view

binary file changed (152 → 152 bytes)

data/hyph-ta.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-ta.lic.txt.gz view

binary file changed (627 → 787 bytes)

data/hyph-ta.pat.txt.gz view

binary file changed (200 → 200 bytes)

data/hyph-te.chr.txt.gz view

binary file changed (188 → 188 bytes)

data/hyph-te.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-te.lic.txt.gz view

binary file changed (628 → 788 bytes)

data/hyph-te.pat.txt.gz view

binary file changed (191 → 191 bytes)

data/hyph-th.chr.txt.gz view

binary file changed (181 → 181 bytes)

data/hyph-th.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-th.lic.txt.gz view

binary file changed (441 → 409 bytes)

data/hyph-th.pat.txt.gz view

binary file changed (15306 → 15317 bytes)

data/hyph-tk.chr.txt.gz view

binary file changed (144 → 144 bytes)

data/hyph-tk.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-tk.lic.txt.gz view

binary file changed (341 → 310 bytes)

data/hyph-tk.pat.txt.gz view

binary file changed (5441 → 5441 bytes)

data/hyph-tr.chr.txt.gz view

binary file changed (146 → 146 bytes)

data/hyph-tr.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-tr.lic.txt.gz view

binary file changed (911 → 878 bytes)

data/hyph-tr.pat.txt.gz view

binary file changed (1246 → 1246 bytes)

data/hyph-uk.chr.txt.gz view

binary file changed (173 → 173 bytes)

data/hyph-uk.hyp.txt.gz view

binary file changed (36 → 36 bytes)

data/hyph-uk.lic.txt.gz view

binary file changed (1584 → 440 bytes)

data/hyph-uk.pat.txt.gz view

binary file changed (13470 → 13473 bytes)

data/hyph-zh-latn-pinyin.chr.txt.gz view

binary file changed (137 → 137 bytes)

data/hyph-zh-latn-pinyin.hyp.txt.gz view

binary file changed (48 → 48 bytes)

data/hyph-zh-latn-pinyin.lic.txt.gz view

binary file changed (1902 → 763 bytes)

data/hyph-zh-latn-pinyin.pat.txt.gz view

binary file changed (400 → 400 bytes)

hyphenation.cabal view
@@ -1,6 +1,6 @@ name:          hyphenation category:      Text-version:       0.7.1+version:       0.8 license:       BSD2 cabal-version: >= 1.8 license-file:  LICENSE@@ -11,15 +11,14 @@ bug-reports:   http://github.com/ekmett/hyphenation/issues copyright:     (C) 2012-2016 Edward A. Kmett synopsis:      Configurable Knuth-Liang hyphenation-tested-with:   GHC == 7.0.4-             , GHC == 7.2.2-             , GHC == 7.4.2-             , GHC == 7.6.3+tested-with:   GHC == 7.6.3              , GHC == 7.8.4              , GHC == 7.10.3              , GHC == 8.0.2              , GHC == 8.2.2-             , GHC == 8.4.1+             , GHC == 8.4.4+             , GHC == 8.6.5+             , GHC == 8.8.1 description:   Configurable Knuth-Liang hyphenation   .@@ -50,7 +49,7 @@  custom-setup   setup-depends:-    base          >= 4.3 && <5,+    base          >= 4.6.0.1 && <5,     Cabal         >= 1.10,     cabal-doctest >= 1 && <1.1 @@ -69,12 +68,13 @@   build-depends:     base                 >= 4       && < 5,     bytestring           >= 0.9     && < 0.11,-    containers           >= 0.3.0.0 && < 0.6,+    containers           >= 0.3.0.0 && < 0.7,     unordered-containers >= 0.2.1   && < 0.3,-    zlib                 >= 0.5     && < 0.7+    zlib                 >= 0.5     && < 0.7,+    text    if !impl(ghc>=7.11)-    build-depends: semigroups >= 0.16 && < 0.19+    build-depends: semigroups >= 0.16 && < 0.20    if flag(embed)     build-depends: file-embed >= 0.0.7 && < 0.1@@ -101,7 +101,7 @@   build-depends:     base,     containers,-    doctest >= 0.11.2 && < 0.14,+    doctest >= 0.11.2 && < 0.17,     hyphenation,     unordered-containers   ghc-options: -Wall -threaded
src/Text/Hyphenation/Hyphenator.hs view
@@ -14,26 +14,11 @@   ( Hyphenator(..)   -- * Hyphenate with a given set of patterns   , hyphenate-  , defaultLeftMin-  , defaultRightMin   ) where  import Text.Hyphenation.Pattern import Text.Hyphenation.Exception --- | By default, do not insert hyphens in the first two characters------ >>> defaultLeftMin--- 2-defaultLeftMin :: Int-defaultLeftMin = 2--- | By default, do not insert hyphens in the last three characters.------ >>> defaultRightMin--- 3-defaultRightMin :: Int-defaultRightMin = 3- -- | A @Hyphenator@ is combination of an alphabet normalization scheme, a set of 'Patterns', a set of 'Exceptions' to those patterns -- and a number of characters at each end to skip hyphenating. data Hyphenator = Hyphenator@@ -47,12 +32,12 @@ -- | Using a 'Hyphenator', compute the score of a string. hyphenationScore :: Hyphenator -> String -> [Int] hyphenationScore (Hyphenator nf ps es l r) s-  | l + r >= n = replicate (n + 1) 0+  | l + r > n = replicate (n + 1) 0   | otherwise = case lookupException ls es of     Just pts -> trim pts     Nothing -> trim (lookupPattern ls ps)   where-    trim result = replicate l 0 ++ take (n - l - r) (drop l result)+    trim result = replicate l 0 ++ take (n - l - r + 1) (drop l result)     n  = length s     ls = map nf s 
src/Text/Hyphenation/Language.hs view
@@ -23,13 +23,13 @@     Language(..)   , languageHyphenator   -- * Provided language hyphenators-  , afrikaans, basque, bengali, bulgarian, catalan, chinese+  , afrikaans, armenian, assamese, basque, bengali, bulgarian, catalan, chinese   , coptic, croatian, czech, danish, dutch, english_US, english_GB, esperanto   , estonian, ethiopic, {- farsi, -} finnish, french, friulan, galician, georgian, german_1901, german_1996   , german_Swiss, greek_Ancient, greek_Mono, greek_Poly, gujarati, hindi, hungarian   , icelandic, indonesian, interlingua, irish, italian, kannada, kurmanji, latin, latin_Classic   , latvian, lithuanian, malayalam, marathi, mongolian, norwegian_Bokmal-  , norwegian_Nynorsk, oriya, panjabi, piedmontese, polish, portuguese, romanian, romansh+  , norwegian_Nynorsk, occitan, oriya, panjabi, piedmontese, polish, portuguese, romanian, romansh   , russian, sanskrit, serbian_Cyrillic, serbocroatian_Cyrillic   , serbocroatian_Latin, slovak, slovenian, spanish, swedish, tamil   , telugu, thai, turkish, turkmen, ukrainian, uppersorbian, welsh@@ -42,12 +42,13 @@ import Data.Functor ((<$>)) #endif import qualified Data.IntMap as IM+import qualified Data.Text as T+import qualified Data.Text.Encoding as T import Text.Hyphenation.ByteStringLazyCompat as Lazy import Text.Hyphenation.Hyphenator import Text.Hyphenation.Pattern import Text.Hyphenation.Exception import System.IO.Unsafe-import Data.ByteString.Lazy.Char8 as Char8  #if !EMBED import Paths_hyphenation@@ -67,27 +68,38 @@ -- -- (e.g. @hyphenateLanguage \"en-us\"@ opens @\"\/Users\/ekmett\/.cabal\/share\/hyphenation-0.2\/ghc-7.4.1\/hyph-en-us.hyp.txt\"@ -- among others when run on the author's local machine)-loadHyphenator :: String -> IO Hyphenator+loadHyphenator :: Language -> IO Hyphenator #if !EMBED loadHyphenator language = do-  hyp <- Char8.unpack . decompress <$> (getDataFileName ("hyph-" ++ language ++ ".hyp.txt.gz") >>= Lazy.readFile)-  pat <- Char8.unpack . decompress <$> (getDataFileName ("hyph-" ++ language ++ ".pat.txt.gz") >>= Lazy.readFile)-  chr <- Char8.unpack . decompress <$> (getDataFileName ("hyph-" ++ language ++ ".chr.txt.gz") >>= Lazy.readFile)+  let affix = languageAffix language+  hyp <- unzipUtf8 <$> (getDataFileName ("hyph-" ++ affix ++ ".hyp.txt.gz") >>= Lazy.readFile)+  pat <- unzipUtf8 <$> (getDataFileName ("hyph-" ++ affix ++ ".pat.txt.gz") >>= Lazy.readFile)+  chr <- unzipUtf8 <$> (getDataFileName ("hyph-" ++ affix ++ ".chr.txt.gz") >>= Lazy.readFile)   let chrMap = IM.fromList (Prelude.lines chr >>= chrLine)       tryLookup x = IM.findWithDefault x (fromEnum x) chrMap+      (defaultLeftMin, defaultRightMin) = languageMins language   return $ Hyphenator tryLookup (parsePatterns pat) (parseExceptions hyp) defaultLeftMin defaultRightMin #else loadHyphenator language = return $ Hyphenator tryLookup (parsePatterns pat) (parseExceptions hyp) defaultLeftMin defaultRightMin-  where Just hyp = Char8.unpack . decompress . Lazy.fromStrict <$> lookup ("hyph-" ++ language ++ ".hyp.txt.gz") hyphenatorFiles-        Just pat = Char8.unpack . decompress . Lazy.fromStrict <$> lookup ("hyph-" ++ language ++ ".pat.txt.gz") hyphenatorFiles-        Just chr = Char8.unpack . decompress . Lazy.fromStrict <$> lookup ("hyph-" ++ language ++ ".chr.txt.gz") hyphenatorFiles+  where affix = languageAffix language+        Just hyp = unzipUtf8 . Lazy.fromStrict <$> lookup ("hyph-" ++ affix ++ ".hyp.txt.gz") hyphenatorFiles+        Just pat = unzipUtf8 . Lazy.fromStrict <$> lookup ("hyph-" ++ affix ++ ".pat.txt.gz") hyphenatorFiles+        Just chr = unzipUtf8 . Lazy.fromStrict <$> lookup ("hyph-" ++ affix ++ ".chr.txt.gz") hyphenatorFiles         chrMap = IM.fromList (Prelude.lines chr >>= chrLine)+        (defaultLeftMin, defaultRightMin) = languageMins language         tryLookup x = IM.findWithDefault x (fromEnum x) chrMap #endif +unzipUtf8 :: ByteString -> String+unzipUtf8 =+  T.unpack . T.decodeUtf8With (\ _ -> fmap (toEnum . fromEnum))+  . Lazy.toStrict . decompress+ -- | A strongly typed set of available languages you can use for hyphenation. data Language   = Afrikaans+  | Armenian+  | Assamese   | Basque   | Bengali   | Bulgarian@@ -130,6 +142,7 @@   | Marathi   | Mongolian   | Norwegian_Bokmal | Norwegian_Nynorsk+  | Occitan   | Oriya   | Panjabi   | Piedmontese@@ -160,6 +173,8 @@ languageAffix :: Language -> String languageAffix s = case s of   Afrikaans -> "af"+  Armenian -> "hy"+  Assamese -> "as"   Basque -> "eu"   Bengali -> "bn"   Bulgarian -> "bg"@@ -206,6 +221,7 @@   Mongolian -> "mn-cyrl"   Norwegian_Bokmal  -> "nb"   Norwegian_Nynorsk -> "nn"+  Occitan -> "oc"   Oriya -> "or"   Panjabi -> "pa"   Piedmontese -> "pms"@@ -232,6 +248,85 @@   Welsh -> "cy"  +-- | The number of characters from the beginning and end of a word not to hyphenate in this language.+languageMins :: Language -> (Int, Int)+languageMins s = case s of+  Afrikaans -> (1, 2)+  Armenian -> (1, 2)+  Assamese -> (1, 1)+  Basque -> (2, 2)+  Bengali -> (1, 1)+  Bulgarian -> (2, 2)+  Catalan -> (2, 2)+  Chinese -> (1, 1)+  Coptic -> (1, 1)+  Croatian -> (2, 2)+  Czech -> (2, 3)+  Danish -> (2, 2)+  Dutch -> (2, 2)+  English_GB -> (2, 3)+  English_US -> (2, 3)+  Esperanto -> (2, 2)+  Estonian -> (2, 3)+  Ethiopic -> (1, 1)+  -- Farsi -> (,)+  Finnish -> (2, 2)+  French -> (2, 3)+  Friulan -> (2, 2)+  Galician -> (2, 2)+  Georgian -> (1, 2)+  German_1901 -> (2, 2)+  German_1996 -> (2, 2)+  German_Swiss -> (2, 2)+  Greek_Ancient -> (1, 1)+  Greek_Mono -> (1, 1)+  Greek_Poly -> (1, 1)+  Gujarati -> (1, 1)+  Hindi -> (1, 1)+  Hungarian -> (2, 2)+  Icelandic -> (2, 2)+  Indonesian -> (2, 2)+  Interlingua -> (2, 2)+  Irish -> (2, 3)+  Italian -> (2, 2)+  Kannada -> (1, 1)+  Kurmanji -> (2, 2)+  Latin -> (2, 2)+  Latin_Classic -> (2, 2)+  Latvian -> (2, 2)+  Lithuanian -> (2, 2)+  Malayalam -> (1, 1)+  Marathi -> (1, 1)+  Mongolian -> (2, 2)+  Norwegian_Bokmal -> (2, 2)+  Norwegian_Nynorsk -> (2, 2)+  Occitan -> (2, 2)+  Oriya -> (1, 1)+  Panjabi -> (1, 1)+  Piedmontese -> (2, 2)+  Polish -> (2, 2)+  Portuguese -> (2, 3)+  Romanian -> (2, 2)+  Romansh -> (2, 2)+  Russian -> (2, 2)+  Sanskrit -> (1, 3)+  Serbian_Cyrillic -> (2, 2)+  Serbocroatian_Cyrillic -> (2, 2)+  Serbocroatian_Latin -> (2, 2)+  Slovak -> (2, 3)+  Slovenian -> (2, 2)+  Spanish -> (2, 2)+  Swedish -> (2, 2)+  Tamil -> (1, 1)+  Telugu -> (1, 1)+  Thai -> (2, 3)+  Turkish -> (2, 2)+  Turkmen -> (2, 2)+  Ukrainian -> (2, 2)+  Uppersorbian -> (2, 2)+  Welsh -> (2, 3)++ -- | -- >>> hyphenate english_US "supercalifragilisticexpialadocious" -- ["su","per","cal","ifrag","ilis","tic","ex","pi","al","ado","cious"]@@ -257,93 +352,98 @@ icelandic :: Hyphenator  -- | Hyphenators for a wide array of languages.-afrikaans, basque, bengali, bulgarian, catalan, chinese,+afrikaans, armenian, assamese, basque, bengali, bulgarian, catalan, chinese,  coptic, croatian, czech, danish, dutch, esperanto,  estonian, ethiopic, {- farsi, -} finnish, friulan, galician, georgian, german_1901, german_1996,  german_Swiss, greek_Ancient, greek_Mono, greek_Poly, gujarati, hindi, hungarian,  indonesian, interlingua, irish, italian, kannada, kurmanji, latin, latin_Classic,  latvian, lithuanian, malayalam, marathi, mongolian, norwegian_Bokmal,- norwegian_Nynorsk, oriya, panjabi, piedmontese, polish, portuguese, romanian,+ norwegian_Nynorsk, occitan, oriya, panjabi, piedmontese, polish, portuguese, romanian,  romansh, russian, sanskrit, serbian_Cyrillic, serbocroatian_Cyrillic,  serbocroatian_Latin, slovak, slovenian, spanish, swedish, tamil,  telugu, thai, turkish, turkmen, ukrainian, uppersorbian, welsh :: Hyphenator -afrikaans = unsafePerformIO (loadHyphenator (languageAffix Afrikaans))-basque = unsafePerformIO (loadHyphenator (languageAffix Basque))-bengali = unsafePerformIO (loadHyphenator (languageAffix Bengali))-bulgarian = unsafePerformIO (loadHyphenator (languageAffix Bulgarian))-catalan = unsafePerformIO (loadHyphenator (languageAffix Catalan))-chinese = unsafePerformIO (loadHyphenator (languageAffix Chinese))-coptic = unsafePerformIO (loadHyphenator (languageAffix Coptic))-croatian = unsafePerformIO (loadHyphenator (languageAffix Croatian))-czech = unsafePerformIO (loadHyphenator (languageAffix Czech))-danish = unsafePerformIO (loadHyphenator (languageAffix Danish))-dutch = unsafePerformIO (loadHyphenator (languageAffix Dutch))-english_US = unsafePerformIO (loadHyphenator (languageAffix English_US))-english_GB = unsafePerformIO (loadHyphenator (languageAffix English_GB))-esperanto = unsafePerformIO (loadHyphenator (languageAffix Esperanto))-estonian = unsafePerformIO (loadHyphenator (languageAffix Estonian))-ethiopic = unsafePerformIO (loadHyphenator (languageAffix Ethiopic))--- farsi = unsafePerformIO (loadHyphenator (languageAffix Farsi))-finnish = unsafePerformIO (loadHyphenator (languageAffix Finnish))-french = unsafePerformIO (loadHyphenator (languageAffix French))-friulan = unsafePerformIO (loadHyphenator (languageAffix Friulan))-galician = unsafePerformIO (loadHyphenator (languageAffix Galician))-georgian = unsafePerformIO (loadHyphenator (languageAffix Georgian))-german_1901 = unsafePerformIO (loadHyphenator (languageAffix German_1901))-german_1996 = unsafePerformIO (loadHyphenator (languageAffix German_1996))-german_Swiss = unsafePerformIO (loadHyphenator (languageAffix German_Swiss))-greek_Ancient = unsafePerformIO (loadHyphenator (languageAffix Greek_Ancient))-greek_Mono = unsafePerformIO (loadHyphenator (languageAffix Greek_Mono))-greek_Poly = unsafePerformIO (loadHyphenator (languageAffix Greek_Poly))-gujarati = unsafePerformIO (loadHyphenator (languageAffix Gujarati))-hindi = unsafePerformIO (loadHyphenator (languageAffix Hindi))-hungarian = unsafePerformIO (loadHyphenator (languageAffix Hungarian))-icelandic = unsafePerformIO (loadHyphenator (languageAffix Icelandic))-indonesian = unsafePerformIO (loadHyphenator (languageAffix Indonesian))-interlingua = unsafePerformIO (loadHyphenator (languageAffix Interlingua))-irish = unsafePerformIO (loadHyphenator (languageAffix Irish))-italian = unsafePerformIO (loadHyphenator (languageAffix Italian))-kannada = unsafePerformIO (loadHyphenator (languageAffix Kannada))-kurmanji = unsafePerformIO (loadHyphenator (languageAffix Kurmanji))-latin = unsafePerformIO (loadHyphenator (languageAffix Latin))-latin_Classic = unsafePerformIO (loadHyphenator (languageAffix Latin_Classic))-latvian = unsafePerformIO (loadHyphenator (languageAffix Latvian))-lithuanian = unsafePerformIO (loadHyphenator (languageAffix Lithuanian))-malayalam = unsafePerformIO (loadHyphenator (languageAffix Malayalam))-marathi = unsafePerformIO (loadHyphenator (languageAffix Marathi))-mongolian = unsafePerformIO (loadHyphenator (languageAffix Mongolian))-norwegian_Bokmal = unsafePerformIO (loadHyphenator (languageAffix Norwegian_Bokmal))-norwegian_Nynorsk = unsafePerformIO (loadHyphenator (languageAffix Norwegian_Nynorsk))-oriya = unsafePerformIO (loadHyphenator (languageAffix Oriya))-panjabi = unsafePerformIO (loadHyphenator (languageAffix Panjabi))-piedmontese = unsafePerformIO (loadHyphenator (languageAffix Piedmontese))-polish = unsafePerformIO (loadHyphenator (languageAffix Polish))-portuguese = unsafePerformIO (loadHyphenator (languageAffix Portuguese))-romanian = unsafePerformIO (loadHyphenator (languageAffix Romanian))-romansh = unsafePerformIO (loadHyphenator (languageAffix Romansh))-russian = unsafePerformIO (loadHyphenator (languageAffix Russian))-sanskrit = unsafePerformIO (loadHyphenator (languageAffix Sanskrit))-serbian_Cyrillic = unsafePerformIO (loadHyphenator (languageAffix Serbian_Cyrillic))-serbocroatian_Cyrillic = unsafePerformIO (loadHyphenator (languageAffix Serbocroatian_Cyrillic))-serbocroatian_Latin = unsafePerformIO (loadHyphenator (languageAffix Serbocroatian_Latin))-slovak = unsafePerformIO (loadHyphenator (languageAffix Slovak))-slovenian = unsafePerformIO (loadHyphenator (languageAffix Slovenian))-spanish = unsafePerformIO (loadHyphenator (languageAffix Spanish))-swedish = unsafePerformIO (loadHyphenator (languageAffix Swedish))-tamil = unsafePerformIO (loadHyphenator (languageAffix Tamil))-telugu = unsafePerformIO (loadHyphenator (languageAffix Telugu))-thai = unsafePerformIO (loadHyphenator (languageAffix Thai))-turkish = unsafePerformIO (loadHyphenator (languageAffix Turkish))-turkmen = unsafePerformIO (loadHyphenator (languageAffix Turkmen))-ukrainian = unsafePerformIO (loadHyphenator (languageAffix Ukrainian))-uppersorbian = unsafePerformIO (loadHyphenator (languageAffix Uppersorbian))-welsh = unsafePerformIO (loadHyphenator (languageAffix Welsh))+afrikaans = unsafePerformIO (loadHyphenator Afrikaans)+armenian = unsafePerformIO (loadHyphenator Armenian)+assamese = unsafePerformIO (loadHyphenator Assamese)+basque = unsafePerformIO (loadHyphenator Basque)+bengali = unsafePerformIO (loadHyphenator Bengali)+bulgarian = unsafePerformIO (loadHyphenator Bulgarian)+catalan = unsafePerformIO (loadHyphenator Catalan)+chinese = unsafePerformIO (loadHyphenator Chinese)+coptic = unsafePerformIO (loadHyphenator Coptic)+croatian = unsafePerformIO (loadHyphenator Croatian)+czech = unsafePerformIO (loadHyphenator Czech)+danish = unsafePerformIO (loadHyphenator Danish)+dutch = unsafePerformIO (loadHyphenator Dutch)+english_US = unsafePerformIO (loadHyphenator English_US)+english_GB = unsafePerformIO (loadHyphenator English_GB)+esperanto = unsafePerformIO (loadHyphenator Esperanto)+estonian = unsafePerformIO (loadHyphenator Estonian)+ethiopic = unsafePerformIO (loadHyphenator Ethiopic)+-- farsi = unsafePerformIO (loadHyphenator Farsi)+finnish = unsafePerformIO (loadHyphenator Finnish)+french = unsafePerformIO (loadHyphenator French)+friulan = unsafePerformIO (loadHyphenator Friulan)+galician = unsafePerformIO (loadHyphenator Galician)+georgian = unsafePerformIO (loadHyphenator Georgian)+german_1901 = unsafePerformIO (loadHyphenator German_1901)+german_1996 = unsafePerformIO (loadHyphenator German_1996)+german_Swiss = unsafePerformIO (loadHyphenator German_Swiss)+greek_Ancient = unsafePerformIO (loadHyphenator Greek_Ancient)+greek_Mono = unsafePerformIO (loadHyphenator Greek_Mono)+greek_Poly = unsafePerformIO (loadHyphenator Greek_Poly)+gujarati = unsafePerformIO (loadHyphenator Gujarati)+hindi = unsafePerformIO (loadHyphenator Hindi)+hungarian = unsafePerformIO (loadHyphenator Hungarian)+icelandic = unsafePerformIO (loadHyphenator Icelandic)+indonesian = unsafePerformIO (loadHyphenator Indonesian)+interlingua = unsafePerformIO (loadHyphenator Interlingua)+irish = unsafePerformIO (loadHyphenator Irish)+italian = unsafePerformIO (loadHyphenator Italian)+kannada = unsafePerformIO (loadHyphenator Kannada)+kurmanji = unsafePerformIO (loadHyphenator Kurmanji)+latin = unsafePerformIO (loadHyphenator Latin)+latin_Classic = unsafePerformIO (loadHyphenator Latin_Classic)+latvian = unsafePerformIO (loadHyphenator Latvian)+lithuanian = unsafePerformIO (loadHyphenator Lithuanian)+malayalam = unsafePerformIO (loadHyphenator Malayalam)+marathi = unsafePerformIO (loadHyphenator Marathi)+mongolian = unsafePerformIO (loadHyphenator Mongolian)+norwegian_Bokmal = unsafePerformIO (loadHyphenator Norwegian_Bokmal)+norwegian_Nynorsk = unsafePerformIO (loadHyphenator Norwegian_Nynorsk)+occitan = unsafePerformIO (loadHyphenator Occitan)+oriya = unsafePerformIO (loadHyphenator Oriya)+panjabi = unsafePerformIO (loadHyphenator Panjabi)+piedmontese = unsafePerformIO (loadHyphenator Piedmontese)+polish = unsafePerformIO (loadHyphenator Polish)+portuguese = unsafePerformIO (loadHyphenator Portuguese)+romanian = unsafePerformIO (loadHyphenator Romanian)+romansh = unsafePerformIO (loadHyphenator Romansh)+russian = unsafePerformIO (loadHyphenator Russian)+sanskrit = unsafePerformIO (loadHyphenator Sanskrit)+serbian_Cyrillic = unsafePerformIO (loadHyphenator Serbian_Cyrillic)+serbocroatian_Cyrillic = unsafePerformIO (loadHyphenator Serbocroatian_Cyrillic)+serbocroatian_Latin = unsafePerformIO (loadHyphenator Serbocroatian_Latin)+slovak = unsafePerformIO (loadHyphenator Slovak)+slovenian = unsafePerformIO (loadHyphenator Slovenian)+spanish = unsafePerformIO (loadHyphenator Spanish)+swedish = unsafePerformIO (loadHyphenator Swedish)+tamil = unsafePerformIO (loadHyphenator Tamil)+telugu = unsafePerformIO (loadHyphenator Telugu)+thai = unsafePerformIO (loadHyphenator Thai)+turkish = unsafePerformIO (loadHyphenator Turkish)+turkmen = unsafePerformIO (loadHyphenator Turkmen)+ukrainian = unsafePerformIO (loadHyphenator Ukrainian)+uppersorbian = unsafePerformIO (loadHyphenator Uppersorbian)+welsh = unsafePerformIO (loadHyphenator Welsh)  -- | Load (and cache) the hyphenator for a given language. languageHyphenator :: Language -> Hyphenator languageHyphenator s = case s of   Afrikaans -> afrikaans+  Armenian -> armenian+  Assamese -> assamese   Basque -> basque   Bengali -> bengali   Bulgarian -> bulgarian@@ -390,6 +490,7 @@   Mongolian -> mongolian   Norwegian_Bokmal  -> norwegian_Bokmal   Norwegian_Nynorsk -> norwegian_Nynorsk+  Occitan -> occitan   Oriya -> oriya   Panjabi -> panjabi   Piedmontese -> piedmontese
src/Text/Hyphenation/Pattern.hs view
@@ -75,7 +75,7 @@ parsePatterns = foldr insertPattern mempty . lines  chars :: String -> String-chars = filter (\x -> (x < '0' || x > '9'))+chars = filter (\x -> x < '0' || x > '9')  -- | Convert a Pattern string to a Score scorePattern :: String -> [Int]