Date: Sun, 16 May 2021 15:25:53 GMT From: Po-Chuan Hsieh <sunpoet@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 1f58d8b468b5 - main - print/py-collidoscope: Add py-collidoscope 0.0.6 Message-ID: <202105161525.14GFPrRp065668@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8 commit 1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2021-05-16 15:12:44 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2021-05-16 15:23:45 +0000 print/py-collidoscope: Add py-collidoscope 0.0.6 collidoscope reports on situations where paths overlap in a shaped piece of text. This software tries every combination of glyphs within a specified Unicode range and up to a specified length of string and outputs a report of all situations where the glyphs collide. It has a number of collision tests: - Paths in non-adjacent glyphs are never allowed to collide. - If the cursive test is turned on, then paths with a cursive attachment anchor are allowed to overlap with paths in an adjacent glyph which also contain a cursive attachment anchor, but are not allowed to overlap with a path without a cursive attachment anchor. - If the area test is turned on, then paths in adjacent glyphs may collide so long as the area of overlap does not exceed a given percentage of the smallest path's area. i.e. if the area percentage is set to 25%, then two strokes may connect, because the overlap is likely to be quite small compared to the size of the paths involved. But if a stroke significantly overlaps a nukta, it will be reported as a collision. (Of course, this will not detect strokes which merely graze a nukta.) WWW: https://github.com/simoncozens/collidoscope --- print/Makefile | 1 + print/py-collidoscope/Makefile | 24 ++++++++++++++++++++++++ print/py-collidoscope/distinfo | 3 +++ print/py-collidoscope/pkg-descr | 20 ++++++++++++++++++++ 4 files changed, 48 insertions(+) diff --git a/print/Makefile b/print/Makefile index bcd612d9897d..44ad1d3cdfc5 100644 --- a/print/Makefile +++ b/print/Makefile @@ -169,6 +169,7 @@ SUBDIR += pslib SUBDIR += pstotext SUBDIR += psutils + SUBDIR += py-collidoscope SUBDIR += py-font-v SUBDIR += py-fontaine SUBDIR += py-fontbakery diff --git a/print/py-collidoscope/Makefile b/print/py-collidoscope/Makefile new file mode 100644 index 000000000000..991e6c19e7df --- /dev/null +++ b/print/py-collidoscope/Makefile @@ -0,0 +1,24 @@ +# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org> + +PORTNAME= collidoscope +PORTVERSION= 0.0.6 +CATEGORIES= print python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Brute force detection of glyph collisions + +LICENSE= MIT + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beziers>=0.0.3:graphics/py-beziers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}fonttools>=0:print/py-fonttools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}glyphtools>=0:print/py-glyphtools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}uharfbuzz>=0:print/py-uharfbuzz@${PY_FLAVOR} + +USES= python:3.6+ +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + +.include <bsd.port.mk> diff --git a/print/py-collidoscope/distinfo b/print/py-collidoscope/distinfo new file mode 100644 index 000000000000..fc7f8e7d2747 --- /dev/null +++ b/print/py-collidoscope/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1620928535 +SHA256 (collidoscope-0.0.6.tar.gz) = c6435a76f8d9d0ed9dbb64507758f276b3845272678fd7eda6ac09bd91db231a +SIZE (collidoscope-0.0.6.tar.gz) = 8202 diff --git a/print/py-collidoscope/pkg-descr b/print/py-collidoscope/pkg-descr new file mode 100644 index 000000000000..f852401affb4 --- /dev/null +++ b/print/py-collidoscope/pkg-descr @@ -0,0 +1,20 @@ +collidoscope reports on situations where paths overlap in a shaped piece of +text. + +This software tries every combination of glyphs within a specified Unicode range +and up to a specified length of string and outputs a report of all situations +where the glyphs collide. It has a number of collision tests: +- Paths in non-adjacent glyphs are never allowed to collide. +- If the cursive test is turned on, then paths with a cursive attachment anchor + are allowed to overlap with paths in an adjacent glyph which also contain a + cursive attachment anchor, but are not allowed to overlap with a path without + a cursive attachment anchor. +- If the area test is turned on, then paths in adjacent glyphs may collide so + long as the area of overlap does not exceed a given percentage of the smallest + path's area. i.e. if the area percentage is set to 25%, then two strokes may + connect, because the overlap is likely to be quite small compared to the size + of the paths involved. But if a stroke significantly overlaps a nukta, it will + be reported as a collision. (Of course, this will not detect strokes which + merely graze a nukta.) + +WWW: https://github.com/simoncozens/collidoscope
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105161525.14GFPrRp065668>