aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-16 15:12:44 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2021-05-16 15:23:45 +0000
commit1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8 (patch)
tree65ac02f508619f9487cfdfb1cdfe8daac2daff0c
parent9a9fd92310e4ee75fae514a9690fdd12f16f8d7c (diff)
downloadports-1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8.tar.gz
ports-1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8.zip
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
-rw-r--r--print/Makefile1
-rw-r--r--print/py-collidoscope/Makefile24
-rw-r--r--print/py-collidoscope/distinfo3
-rw-r--r--print/py-collidoscope/pkg-descr20
4 files changed, 48 insertions, 0 deletions
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