freecad-cam/Mod/Test/testmakeWireString.py
2026-02-01 01:59:24 +01:00

76 lines
3.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# ***************************************************************************
# * Copyright (c) 2013 WandererFan <wandererfan@gmail.com> *
# * *
# * This file is part of the FreeCAD CAx development system. *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU Library General Public License for more details. *
# * *
# * You should have received a copy of the GNU Library General Public *
# * License along with this program; if not, write to the Free Software *
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# * USA *
# * *
# ***************************************************************************
# tester for Part.makeWireString
import FreeCAD
import Part
import PartDesign
print("testWire started")
# test strings
# if string contains funky characters, it has to be declared as Unicode or it
# turns into the default encoding (usually utf8). FT2 doesn't do utf8.
# String = 'Wide WMA_' # wide glyphs for tracking
# String = 'Big'
# String = u'ecAnO' # UCS-2 w/ only ASCII
# String = u'ucs2uéçÄñØ' # UCS-2
# String = 'utf8!uéçÄñØ' # UTF-8
# String = 'abcdefghijklmnopqrstuvwxyz0123456789'
# String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# String = 'Big Daddy' # white space
# String = 'AVWAIXA.V' # kerning
String = "FreeCAD" # ASCII
# FontPath = '/usr/share/fonts/truetype/msttcorefonts/'
# FontName = 'Times_New_Roman_Italic.ttf'
FontPath = "/usr/share/fonts/truetype/msttcorefonts/"
FontName = "Arial.ttf"
# FontName = 'NOTArial.ttf' # font file not found error
# FontPath = '/usr/share/fonts/truetype/msttcorefonts/'
# FontName = 'ariali.ttf' # symlink to ttf
# FontPath = '/usr/share/fonts/truetype/'
# FontName = 'Peterbuilt.ttf' # overlapping script font
# FontPath = '/usr/share/fonts/truetype/'
# FontName = 'dyspepsia.ttf' # overlapping script font # :)
Height = 2000 # out string height FCunits
Track = 0 # intercharacter spacing
print("testWire.py input String contains ", len(String), " characters.")
s = Part.makeWireString(String, FontPath, FontName, Height, Track)
print("returned from makeWireString")
print("testWire.py output contains ", len(s), " WireChars.")
for char in s:
for contour in char:
Part.show(contour)
print("testWire ended.")