git: 1f58d8b468b5 - main - print/py-collidoscope: Add py-collidoscope 0.0.6

Po-Chuan Hsieh sunpoet at FreeBSD.org
Sun May 16 15:25:53 UTC 2021


The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8

commit 1f58d8b468b56dc1e51e32972c3d2cfc10dd85c8
Author:     Po-Chuan Hsieh <sunpoet at FreeBSD.org>
AuthorDate: 2021-05-16 15:12:44 +0000
Commit:     Po-Chuan Hsieh <sunpoet at 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 at FreeBSD.org>
+
+PORTNAME=	collidoscope
+PORTVERSION=	0.0.6
+CATEGORIES=	print python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet at 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


More information about the dev-commits-ports-all mailing list