diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
index 5e25018f91..c912d08682 100644
--- a/demos/CMakeLists.txt
+++ b/demos/CMakeLists.txt
@@ -1,7 +1,15 @@
-install( DIRECTORY complex_hierarchy
-    ecc83 electric flat_hierarchy
-    kit-dev-coldfire-xilinx_5213 interf_u microwave
-    pic_programmer pspice "sonde xilinx" test_xil_95108 video
+install( DIRECTORY
+    complex_hierarchy
+    ecc83 electric
+    flat_hierarchy
+    interf_u
+    kit-dev-coldfire-xilinx_5213
+    microwave
+    pic_programmer pspice
+    python_scripts_examples
+    "sonde xilinx"
+    test_pads_inside_pads
+    test_xil_95108 video
     DESTINATION ${KICAD_DEMOS}
     COMPONENT resources
     )
diff --git a/demos/python_scripts_examples/plot_board.py b/demos/python_scripts_examples/plot_board.py
new file mode 100644
index 0000000000..6fd55d00be
--- /dev/null
+++ b/demos/python_scripts_examples/plot_board.py
@@ -0,0 +1,211 @@
+'''
+    A python script example to create various plot files from a board:
+    Fab files
+    Doc files
+    Gerber files
+
+    Important note:
+        this python script does not plot frame references.
+        the reason is it is not yet possible from a python script because plotting
+        plot frame references needs loading the corresponding page layout file
+        (.wks file) or the default template.
+
+        This info (the page layout template) is not stored in the board, and therefore
+        not available.
+
+        Do not try to change SetPlotFrameRef(False) to SetPlotFrameRef(true)
+        the result is the pcbnew lib will crash if you try to plot
+        the unknown frame references template.
+'''
+
+import sys
+
+from pcbnew import *
+filename=sys.argv[1]
+
+board = LoadBoard(filename)
+
+pctl = PLOT_CONTROLLER(board)
+
+popt = pctl.GetPlotOptions()
+
+popt.SetOutputDirectory("plot/")
+
+# Set some important plot options:
+popt.SetPlotFrameRef(False)
+popt.SetLineWidth(FromMM(0.35))
+
+popt.SetAutoScale(False)
+popt.SetScale(1)
+popt.SetMirror(False)
+popt.SetUseGerberAttributes(True)
+popt.SetExcludeEdgeLayer(False);
+popt.SetScale(1)
+popt.SetUseAuxOrigin(True)
+
+# This by gerbers only (also the name is truly horrid!)
+popt.SetSubtractMaskFromSilk(False)
+
+pctl.SetLayer(F_SilkS)
+pctl.OpenPlotfile("Silk", PLOT_FORMAT_PDF, "Assembly guide")
+pctl.PlotLayer()
+
+# Once the defaults are set it become pretty easy...
+# I have a Turing-complete programming language here: I'll use it...
+# param 0 is a string added to the file base name to identify the drawing
+# param 1 is the layer ID
+plot_plan = [
+    ( "CuTop", F_Cu, "Top layer" ),
+    ( "CuBottom", B_Cu, "Bottom layer" ),
+    ( "PasteBottom", B_Paste, "Paste Bottom" ),
+    ( "PasteTop", F_Paste, "Paste top" ),
+    ( "SilkTop", F_SilkS, "Silk top" ),
+    ( "SilkBottom", B_SilkS, "Silk top" ),
+    ( "MaskBottom", B_Mask, "Mask bottom" ),
+    ( "MaskTop", F_Mask, "Mask top" ),
+    ( "EdgeCuts", Edge_Cuts, "Edges" ),
+]
+
+
+for layer_info in plot_plan:
+    pctl.SetLayer(layer_info[1])
+    pctl.OpenPlotfile(layer_info[0], PLOT_FORMAT_GERBER, layer_info[2])
+    pctl.PlotLayer()
+
+# Our fabricators want two additional gerbers:
+# An assembly with no silk trim and all and only the references
+# (you'll see that even holes have designators, obviously)
+popt.SetSubtractMaskFromSilk(False)
+popt.SetPlotReference(True)
+popt.SetPlotValue(False)
+popt.SetPlotInvisibleText(True)
+
+pctl.SetLayer(F_SilkS)
+pctl.OpenPlotfile("AssyTop", PLOT_FORMAT_PDF, "Assembly top")
+pctl.PlotLayer()
+
+# And a gerber with only the component outlines (really!)
+popt.SetPlotReference(False)
+popt.SetPlotInvisibleText(False)
+pctl.SetLayer(F_SilkS)
+pctl.OpenPlotfile("AssyOutlinesTop", PLOT_FORMAT_PDF, "Assembly outline top")
+pctl.PlotLayer()
+
+# The same could be done for the bottom side, if there were components
+popt.SetUseAuxOrigin(False)
+
+## For documentation we also want a general layout PDF
+## I usually use a shell script to merge the ps files and then distill the result
+## Now I can do it with a control file. As a bonus I can have references in a
+## different colour, too.
+
+popt.SetPlotReference(True)
+popt.SetPlotValue(True)
+popt.SetPlotInvisibleText(False)
+# Remember that the frame is always in color 0 (BLACK) and should be requested
+# before opening the plot
+popt.SetPlotFrameRef(False)
+pctl.SetLayer(Dwgs_User)
+
+pctl.OpenPlotfile("Layout", PLOT_FORMAT_PDF, "General layout")
+pctl.PlotLayer()
+
+# Do the PCB edges in yellow
+popt.SetColor(YELLOW)
+pctl.SetLayer(Edge_Cuts)
+pctl.PlotLayer()
+
+## Comments in, uhmm... green
+popt.SetColor(GREEN)
+pctl.SetLayer(Cmts_User)
+pctl.PlotLayer()
+
+# Bottom mask as lines only, in red
+#popt.SetMode(LINE)
+popt.SetColor(RED)
+pctl.SetLayer(B_Mask)
+pctl.PlotLayer()
+
+# Top mask as lines only, in blue
+popt.SetColor(BLUE)
+pctl.SetLayer(F_Mask)
+pctl.PlotLayer()
+
+# Top paste in light blue, filled
+popt.SetColor(BLUE)
+#popt.SetMode(FILLED)
+pctl.SetLayer(F_Paste)
+pctl.PlotLayer()
+
+# Top Silk in cyan, filled, references in dark cyan
+popt.SetReferenceColor(DARKCYAN)
+popt.SetColor(CYAN)
+pctl.SetLayer(F_SilkS)
+pctl.PlotLayer()
+
+popt.SetTextMode(PLOTTEXTMODE_STROKE)
+pctl.SetLayer(F_Mask)
+pctl.OpenPlotfile("Assembly", PLOT_FORMAT_SVG, "Master Assembly")
+pctl.SetColorMode(True)
+
+# We want *everything*
+popt.SetPlotReference(True)
+popt.SetPlotValue(True)
+popt.SetPlotInvisibleText(True)
+
+# Remember than the DXF driver assigns colours to layers. This means that
+# we will be able to turn references on and off simply using their layers
+# Also most of the layer are now plotted in 'line' mode, because DXF handles
+# fill mode almost like sketch mode (this is to keep compatibility with
+# most CAD programs; most of the advanced primitive attributes required are
+# handled only by recent autocads...); also the entry level cads (qcad
+# and derivatives) simply don't handle polyline widths...
+
+# Here I'm using numbers for colors and layers, I'm too lazy too look them up:P
+popt.SetReferenceColor(19)
+popt.SetValueColor(21)
+
+popt.SetColor(0)
+#popt.SetMode(LINE)
+pctl.SetLayer(B_SilkS)
+pctl.PlotLayer()
+popt.SetColor(14)
+pctl.SetLayer(F_SilkS)
+pctl.PlotLayer()
+popt.SetColor(2)
+pctl.SetLayer(B_Mask)
+pctl.PlotLayer()
+popt.SetColor(4)
+pctl.SetLayer(F_Mask)
+pctl.PlotLayer()
+popt.SetColor(1)
+pctl.SetLayer(B_Paste)
+pctl.PlotLayer()
+popt.SetColor(9)
+pctl.SetLayer(F_Paste)
+pctl.PlotLayer()
+popt.SetColor(3)
+pctl.SetLayer(Edge_Cuts)
+pctl.PlotLayer()
+
+# Export the copper layers too... exporting one of them in filled mode with
+# drill marks will put the marks in the WHITE later (since it tries to blank
+# the pads...); these will be obviously great reference points for snap
+# and stuff in the cad. A pctl function to only plot them would be
+# better anyway...
+
+popt.SetColor(17)
+#popt.SetMode(FILLED)
+popt.SetDrillMarksType(PCB_PLOT_PARAMS.FULL_DRILL_SHAPE)
+pctl.SetLayer(B_Cu)
+pctl.PlotLayer()
+popt.SetColor(20)
+popt.SetDrillMarksType(PCB_PLOT_PARAMS.NO_DRILL_SHAPE)
+pctl.SetLayer(F_Cu)
+pctl.PlotLayer()
+
+# At the end you have to close the last plot, otherwise you don't know when
+# the object will be recycled!
+pctl.ClosePlot()
+
+# We have just generated 21 plotfiles with a single script
diff --git a/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pcb b/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pcb
index d9aaffd3cd..e07d003216 100644
--- a/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pcb
+++ b/demos/test_pads_inside_pads/test_pads_inside_pads.kicad_pcb
@@ -1,9 +1,9 @@
-(kicad_pcb (version 3) (host pcbnew "(2013-01-12 BZR 3902)-testing")
+(kicad_pcb (version 4) (host pcbnew "(2015-04-25 BZR 5623)-product")
 
   (general
     (links 12)
     (no_connects 0)
-    (area 74.91259 30.97059 111.463666 65.151)
+    (area 79.121 35.179 111.052429 65.3542)
     (thickness 1.6002)
     (drawings 0)
     (tracks 4)
@@ -14,21 +14,21 @@
 
   (page A4)
   (layers
-    (15 Dessus signal)
-    (0 Dessous signal)
-    (16 B.Adhes user)
-    (17 F.Adhes user)
-    (18 B.Paste user)
-    (19 F.Paste user)
-    (20 B.SilkS user)
-    (21 F.SilkS user)
-    (22 B.Mask user)
-    (23 F.Mask user)
-    (24 Dwgs.User user)
-    (25 Cmts.User user)
-    (26 Eco1.User user)
-    (27 Eco2.User user)
-    (28 Edge.Cuts user)
+    (0 Dessus signal)
+    (31 Dessous signal)
+    (32 B.Adhes user)
+    (33 F.Adhes user)
+    (34 B.Paste user)
+    (35 F.Paste user)
+    (36 B.SilkS user)
+    (37 F.SilkS user)
+    (38 B.Mask user)
+    (39 F.Mask user)
+    (40 Dwgs.User user)
+    (41 Cmts.User user)
+    (42 Eco1.User user)
+    (43 Eco2.User user)
+    (44 Edge.Cuts user)
   )
 
   (setup
@@ -57,12 +57,12 @@
     (pad_drill 0.8128)
     (pad_to_mask_clearance 0.254)
     (aux_axis_origin 0 0)
-    (visible_elements FFFFFFBF)
+    (visible_elements 7FFFFFFF)
     (pcbplotparams
-      (layerselection 3178497)
+      (layerselection 0x00030_80000001)
       (usegerberextensions true)
       (excludeedgelayer true)
-      (linewidth 60)
+      (linewidth 0.150000)
       (plotframeref false)
       (viasonmask false)
       (mode 1)
@@ -75,7 +75,6 @@
       (psa4output false)
       (plotreference true)
       (plotvalue true)
-      (plotothertext true)
       (plotinvisibletext false)
       (padsonsilk false)
       (subtractmaskfromsilk false)
@@ -97,67 +96,47 @@
     (via_drill 0.635)
     (uvia_dia 0.508)
     (uvia_drill 0.127)
-    (add_net "")
     (add_net /NET1)
     (add_net /NET2)
   )
 
-  (module 1pin (layer Dessus) (tedit 4EE506A9) (tstamp 4EE505BA)
+  (module 1pin (layer Dessus) (tedit 553E7303) (tstamp 4EE505BA)
     (at 89.535 45.593)
     (descr "module 1 pin (ou trou mecanique de percage)")
     (tags DEV)
     (path /4EDF7CC5)
-    (fp_text reference P1 (at 0 -3.048) (layer F.SilkS)
+    (fp_text reference P1 (at 0 -12) (layer F.SilkS)
       (effects (font (size 1.016 1.016) (thickness 0.254)))
     )
-    (fp_text value CONN_1 (at 0 2.794) (layer F.SilkS) hide
+    (fp_text value CONN_1 (at 0 12) (layer F.SilkS) hide
       (effects (font (size 1.016 1.016) (thickness 0.254)))
     )
-    (fp_circle (center 0 0) (end 0 -2.286) (layer F.SilkS) (width 0.381))
-    (pad 1 smd rect (at 0 0) (size 20.32 20.32)
-      (layers Dessus F.Paste F.Mask)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at -8.255 -7.62) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at -3.81 -7.62) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 0 -7.62) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 3.81 -7.62) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 8.255 -7.62) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 8.255 -4.445) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 3.81 -4.445) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at 0 -4.445) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at -3.81 -4.445) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
-    (pad 1 thru_hole circle (at -8.255 -4.445) (size 1.524 1.524) (drill 0.762)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
+    (fp_line (start -11 -11) (end 11 -11) (layer F.SilkS) (width 0.15))
+    (fp_line (start 11 -11) (end 11 11) (layer F.SilkS) (width 0.15))
+    (fp_line (start 11 11) (end -11 11) (layer F.SilkS) (width 0.15))
+    (fp_line (start -11 11) (end -11 -11) (layer F.SilkS) (width 0.15))
+    (pad 1 smd rect (at 0 0) (size 20.32 20.32) (layers Dessus F.Paste F.Mask)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at -8.255 -7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at -3.81 -7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 0 -7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 3.81 -7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 8.255 -7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 8.255 -4.445) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 3.81 -4.445) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at 0 -4.445) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at -3.81 -4.445) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
+    (pad 1 thru_hole circle (at -8.255 -4.445) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
   )
 
   (module 1pin (layer Dessus) (tedit 200000) (tstamp 4EE505BC)
@@ -172,10 +151,8 @@
       (effects (font (size 1.016 1.016) (thickness 0.254)))
     )
     (fp_circle (center 0 0) (end 0 -2.286) (layer F.SilkS) (width 0.381))
-    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 2 /NET2)
-    )
+    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048) (layers *.Cu *.Mask F.SilkS)
+      (net 2 /NET2))
   )
 
   (module 1pin (layer Dessus) (tedit 200000) (tstamp 4EE505BE)
@@ -190,10 +167,8 @@
       (effects (font (size 1.016 1.016) (thickness 0.254)))
     )
     (fp_circle (center 0 0) (end 0 -2.286) (layer F.SilkS) (width 0.381))
-    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 1 /NET1)
-    )
+    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048) (layers *.Cu *.Mask F.SilkS)
+      (net 1 /NET1))
   )
 
   (module 1pin (layer Dessus) (tedit 4EE8A1D1) (tstamp 4EE505C0)
@@ -208,16 +183,13 @@
       (effects (font (size 1.016 1.016) (thickness 0.254)))
     )
     (fp_circle (center 0 0) (end 0 -2.286) (layer F.SilkS) (width 0.381))
-    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048)
-      (layers *.Cu *.Mask F.SilkS)
-      (net 1 /NET1)
-      (die_length 7.62)
-    )
+    (pad 1 thru_hole circle (at 0 0) (size 4.064 4.064) (drill 3.048) (layers *.Cu *.Mask F.SilkS)
+      (net 1 /NET1) (die_length 7.62))
   )
 
   (segment (start 107.061 61.468) (end 87.122 61.468) (width 0.2032) (layer Dessous) (net 1))
-  (segment (start 97.79 41.148) (end 103.759 41.148) (width 0.2032) (layer Dessous) (net 2))
-  (segment (start 107.696 45.085) (end 107.696 45.593) (width 0.2032) (layer Dessous) (net 2))
   (segment (start 103.759 41.148) (end 107.696 45.085) (width 0.2032) (layer Dessous) (net 2))
+  (segment (start 107.696 45.085) (end 107.696 45.593) (width 0.2032) (layer Dessous) (net 2))
+  (segment (start 97.79 41.148) (end 103.759 41.148) (width 0.2032) (layer Dessous) (net 2))
 
 )
diff --git a/helpers/tools_to_build_newstroke-font/font.brd b/helpers/tools_to_build_newstroke-font/font.brd
deleted file mode 100644
index 44100d9ba8..0000000000
--- a/helpers/tools_to_build_newstroke-font/font.brd
+++ /dev/null
@@ -1,533 +0,0 @@
-PCBNEW-BOARD Version 1 date Птн 29 Янв 2010 18:29:57
-
-# Created by Pcbnew(20091221 SVN-R2173)
-
-$GENERAL
-LayerCount 2
-Ly 1FFF8001
-EnabledLayers 1FFF8001
-VisibleLayers 1FFF8001
-VisibleElements 00000FFF
-Links 0
-NoConn 0
-Di 0 0 117000 82670
-Ndraw 89
-Ntrack 0
-Nzone 0
-LayerThickness 630
-Nmodule 0
-Nnets 1
-$EndGENERAL
-
-$SHEETDESCR
-Sheet A4 11700 8267
-Title ""
-Date "29 jan 2010"
-Rev ""
-Comp ""
-Comment1 ""
-Comment2 ""
-Comment3 ""
-Comment4 ""
-$EndSHEETDESCR
-
-$SETUP
-InternalUnit 0.000100 INCH
-ZoneGridSize 250
-Layers 2
-Layer[0] Задний signal
-Layer[15] Передний signal
-TrackWidth 80
-TrackClearence 100
-ZoneClearence 200
-TrackMinWidth 80
-DrawSegmWidth 150
-EdgeSegmWidth 150
-ViaSize 350
-ViaDrill 250
-ViaMinSize 350
-ViaMinDrill 200
-MicroViaSize 200
-MicroViaDrill 50
-MicroViasAllowed 0
-MicroViaMinSize 200
-MicroViaMinDrill 50
-TextPcbWidth 120
-TextPcbSize 600 800
-EdgeModWidth 150
-TextModSize 600 600
-TextModWidth 120
-PadSize 600 600
-PadDrill 320
-Pad2MaskClearance 100
-AuxiliaryAxisOrg 0 0
-$EndSETUP
-
-$EQUIPOT
-Na 0 ""
-St ~
-$EndEQUIPOT
-$NCLASS
-Name "Default"
-Desc "Класс цепей по умолчанию."
-Clearance 100
-TrackWidth 80
-ViaDia 350
-ViaDrill 250
-uViaDia 200
-uViaDrill 50
-AddNet ""
-$EndNCLASS
-$TEXTPCB
-Te "ᶠᶡᶢᶣᶤᶥᶦᶧᶨᶩᶪᶫᶬᶭᶮᶯᶰᶱᶲᶳᶴᶵᶶᶷᶸᶹᶺᶻᶼᶽᶾᶿ"
-Po 39370 22047 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚᶛᶜᶝᶞᶟ"
-Po 39370 20472 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵸᵹᵺᵻᵼᵽᵾᵿ"
-Po 39370 18898 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᵀᵁᵂᵃᵄᵅᵆᵇᵈᵉᵊᵋᵌᵍᵎᵏᵐᵑᵒᵓᵔᵕᵖᵗᵘᵙᵚᵛᵜᵝᵞᵟ"
-Po 39370 17323 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᴬᴭᴮᴯᴰᴱᴲᴳᴴᴵᴶᴷᴸᴹᴺᴻᴼᴽᴾᴿ"
-Po 39370 15748 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟ"
-Po 39370 14173 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ԀԁԂԃԄԅԆԇԈԉԊԋԌԍԎԏԐԑԒԓԔԕԖԗԘԙԚԛԜԝԞԟԠԡԢԣ"
-Po 15748 62992 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`ῲῳῴῶῷῸΌῺΏῼ´῾"
-Po 39370 48819 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏ῐῑῒΐῖῗῘῙῚΊ῝῞῟"
-Po 39370 47244 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿"
-Po 39370 45669 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ"
-Po 39370 44094 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯὰάὲέὴήὶίὸόὺύὼώ"
-Po 39370 42520 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ὀὁὂὃὄὅὈὉὊὋὌὍὐὑὒὓὔὕὖὗὙὛὝὟ"
-Po 39370 40945 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ"
-Po 39370 39370 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏἐἑἒἓἔἕἘἙἚἛἜἝ"
-Po 39370 37795 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹỺỻỼỽỾỿ"
-Po 39370 36220 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞở"
-Po 39370 34646 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾế"
-Po 39370 33071 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕẖẗẘẙẚẛẜẝẞẟ"
-Po 39370 31496 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ṠṡṢṣṤṥṦṧṨṩṪṫṬṭṮṯṰṱṲṳṴṵṶṷṸṹṺṻṼṽṾṿ"
-Po 39370 29921 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ṀṁṂṃṄṅṆṇṈṉṊṋṌṍṎṏṐṑṒṓṔṕṖṗṘṙṚṛṜṝṞṟ"
-Po 39370 28346 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḸḹḺḻḼḽḾḿ"
-Po 39370 26772 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ḀḁḂḃḄḅḆḇḈḉḊḋḌḍḎḏḐḑḒḓḔḕḖḗḘḙḚḛḜḝḞḟ"
-Po 39370 25197 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯ"
-Po 15748 37796 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟ"
-Po 15748 36221 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ"
-Po 15748 34646 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟ"
-Po 15748 33072 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿ"
-Po 15748 31497 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟ"
-Po 15748 29922 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ"
-Po 15748 28347 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ"
-Po 15748 26772 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ"
-Po 15748 25198 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟ"
-Po 15748 23623 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷◸◹◺◻◼◽◾◿"
-Po 62992 51968 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "◀◁◂◃◄◅◆◇◈◉◊○◌◍◎●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟"
-Po 62992 50393 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "■□▢▣▤▥▦▧▨▩▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿"
-Po 62992 48819 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "∛~27~=3"
-Po 40551 74803 1575 2067 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⏠⏡⏢⏣⏤⏥⏦⏧"
-Po 62992 47244 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌⏍⏎⏏⏐⏑⏒⏓⏔⏕⏖⏗⏘⏙⏚⏛⏜⏝⏞⏟"
-Po 62992 45669 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⎠⎡⎢⎣⎤⎥⎦⎧⎨⎩⎪⎫⎬⎭⎮⎯⎰⎱⎲⎳⎴⎵⎶⎷⎸⎹⎺⎻⎼⎽⎾⎿"
-Po 62992 44094 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⎀⎁⎂⎃⎄⎅⎆⎇⎈⎉⎊⎋⎌⎍⎎⎏⎐⎑⎒⎓⎔⎕⎖⎗⎘⎙⎚⎛⎜⎝⎞⎟"
-Po 62992 42519 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⍠⍡⍢⍣⍤⍥⍦⍧⍨⍩⍪⍫⍬⍭⍮⍯⍰⍱⍲⍳⍴⍵⍶⍷⍸⍹⍺⍻⍼⍽⍾⍿"
-Po 62992 40945 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⍀⍁⍂⍃⍄⍅⍆⍇⍈⍉⍊⍋⍌⍍⍎⍏⍐⍑⍒⍓⍔⍕⍖⍗⍘⍙⍚⍛⍜⍝⍞⍟"
-Po 62992 39370 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⌠⌡⌢⌣⌤⌥⌦⌧⌨〈〉⌫⌬⌭⌮⌯⌰⌱⌲⌳⌴⌵⌶⌷⌸⌹⌺⌻⌼⌽⌾⌿"
-Po 62992 37795 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⌀⌁⌂⌃⌄⌅⌆⌇⌈⌉⌊⌋⌌⌍⌎⌏⌐⌑⌒⌓⌔⌕⌖⌗⌘⌙⌚⌛⌜⌝⌞⌟"
-Po 62992 36220 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋮⋯⋰⋱⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿"
-Po 62992 34645 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⋀⋁⋂⋃⋄⋅⋆⋇⋈⋉⋊⋋⋌⋍⋎⋏⋐⋑⋒⋓⋔⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟"
-Po 62992 33071 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⊠⊡⊢⊣⊤⊥⊦⊧⊨⊩⊪⊫⊬⊭⊮⊯⊰⊱⊲⊳⊴⊵⊶⊷⊸⊹⊺⊻⊼⊽⊾⊿"
-Po 62992 31496 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊌⊍⊎⊏⊐⊑⊒⊓⊔⊕⊖⊗⊘⊙⊚⊛⊜⊝⊞⊟"
-Po 62992 29921 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "≠≡≢≣≤≥≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿"
-Po 62992 28346 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "≀≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟"
-Po 62992 26771 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "∠∡∢∣∤∥∦∧∨∩∪∫∬∭∮∯∰∱∲∳∴∵∶∷∸∹∺∻∼∽∾∿"
-Po 62992 25197 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "∀∁∂∃∄∅∆∇∈∉∊∋∌∍∎∏∐∑−∓∔∕∖∗∘∙√∛∜∝∞∟"
-Po 62992 23622 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⇠⇡⇢⇣⇤⇥⇦⇧⇨⇩⇪⇫⇬⇭⇮⇯⇰⇱⇲⇳⇴⇵⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿"
-Po 62992 22047 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⇀⇁⇂⇃⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇎⇏⇐⇑⇒⇓⇔⇕⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟"
-Po 62992 20472 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "↠↡↢↣↤↥↦↧↨↩↪↫↬↭↮↯↰↱↲↳↴↵↶↷↸↹↺↻↼↽↾↿"
-Po 62992 18897 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟"
-Po 62992 17323 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵"
-Po 62992 14173 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₔ"
-Po 62992 12598 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "‰‱′″‴‵‶‷‸‹›※‼‽‾‿⁀⁁⁂⁃⁄⁅⁆⁇⁈⁉⁊⁋⁌⁍⁎⁏⁐⁑⁒⁓⁔⁕⁖⁗⁘⁙⁚⁛⁜⁝⁞"
-Po 62992 11023 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "‐‑‒–—―‖‗‘’‚‛“”„‟†‡•‣․‥…‧"
-Po 62992 9449 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ӠӡӢӣӤӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӶӷӸӹӺӻӼӽӾӿ"
-Po 15748 61418 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ӀӁӂӃӄӅӆӇӈӉӊӋӌӍӎӏӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟ"
-Po 15748 59843 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ҠҡҢңҤҥҦҧҨҩҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽҾҿ"
-Po 15748 58268 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "Ҁҁ҂҃҄҅҆҇҈҉ҊҋҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟ"
-Po 15748 56694 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ѠѡѢѣѤѥѦѧѨѩѪѫѬѭѮѯѰѱѲѳѴѵѶѷѸѹѺѻѼѽѾѿ"
-Po 15748 55119 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "абвгдежзийклмнопрстуфхцчшщъыьэюя"
-Po 15748 53544 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
-Po 15748 51969 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏѐёђѓєѕіїјљњћќѝўџ"
-Po 15748 50394 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼϽϾϿ"
-Po 15748 48820 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟ"
-Po 15748 47245 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏ"
-Po 15748 45669 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήί"
-Po 15748 44095 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ͰͱͲͳʹ͵Ͷͷͺͻͼͽ;΄΅Ά·ΈΉΊΌΎΏ"
-Po 15748 42520 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "Сколько 2+2"
-Po 18898 72835 600 800 120 0
-De 0 0 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ"
-Po 15748 22048 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş"
-Po 15748 20473 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿ"
-Po 15748 18898 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ"
-Po 15748 17323 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
-Po 16142 15748 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß"
-Po 15748 14174 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te " ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿"
-Po 15748 12599 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "`abcdefghijklmnopqrstuvwxyz{|}"
-Po 15748 11025 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_"
-Po 15748 9450 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te " !@#$%'()*+,-./0123456789:;<=>?"
-Po 15748 7875 600 800 120 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "LPC2144"
-nl "2+2=x"
-Po 28346 72441 600 800 120 0
-De 15 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "R18"
-Po 24016 74803 600 800 120 0
-De 15 1 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "R18"
-Po 24016 73228 600 800 120 0
-De 0 0 0 Normal
-$EndTEXTPCB
-$TEXTPCB
-Te "TEXT EXAMPLE"
-nl "Qu? 2+2=4"
-nl "àáâãäåæ"
-Po 10630 72835 787 591 79 0
-De 21 1 0 Normal
-$EndTEXTPCB
-$TRACK
-$EndTRACK
-$ZONE
-$EndZONE
-$EndBOARD
diff --git a/helpers/tools_to_build_newstroke-font/font.kicad_pcb b/helpers/tools_to_build_newstroke-font/font.kicad_pcb
new file mode 100644
index 0000000000..c5dcf2ad5e
--- /dev/null
+++ b/helpers/tools_to_build_newstroke-font/font.kicad_pcb
@@ -0,0 +1,376 @@
+(kicad_pcb (version 4) (host pcbnew "(2015-04-03 BZR 5570)-product")
+
+  (general
+    (links 0)
+    (no_connects 0)
+    (area 9.113522 18.1229 196.183794 193.827146)
+    (thickness 1.6)
+    (drawings 89)
+    (tracks 0)
+    (zones 0)
+    (modules 0)
+    (nets 1)
+  )
+
+  (page A4)
+  (title_block
+    (date "29 jan 2010")
+  )
+
+  (layers
+    (0 F.Cu signal)
+    (31 B.Cu signal)
+    (32 B.Adhes user)
+    (33 F.Adhes user)
+    (34 B.Paste user)
+    (35 F.Paste user)
+    (36 B.SilkS user)
+    (37 F.SilkS user)
+    (38 B.Mask user)
+    (39 F.Mask user)
+    (40 Dwgs.User user)
+    (41 Cmts.User user)
+    (42 Eco1.User user)
+    (43 Eco2.User user)
+    (44 Edge.Cuts user)
+    (45 Margin user)
+    (46 B.CrtYd user)
+    (47 F.CrtYd user)
+    (48 B.Fab user)
+    (49 F.Fab user)
+  )
+
+  (setup
+    (last_trace_width 0.2032)
+    (trace_clearance 0.254)
+    (zone_clearance 0.508)
+    (zone_45_only no)
+    (trace_min 0.2032)
+    (segment_width 0.381)
+    (edge_width 0.381)
+    (via_size 0.889)
+    (via_drill 0.635)
+    (via_min_size 0.889)
+    (via_min_drill 0.508)
+    (uvia_size 0.508)
+    (uvia_drill 0.127)
+    (uvias_allowed no)
+    (uvia_min_size 0.508)
+    (uvia_min_drill 0.127)
+    (pcb_text_width 0.3048)
+    (pcb_text_size 1.524 2.032)
+    (mod_edge_width 0.381)
+    (mod_text_size 1.524 1.524)
+    (mod_text_width 0.3048)
+    (pad_size 1.524 1.524)
+    (pad_drill 0.8128)
+    (pad_to_mask_clearance 0.254)
+    (aux_axis_origin 0 0)
+    (visible_elements FFFFFF7F)
+    (pcbplotparams
+      (layerselection 0x00030_80000001)
+      (usegerberextensions false)
+      (excludeedgelayer true)
+      (linewidth 0.100000)
+      (plotframeref false)
+      (viasonmask false)
+      (mode 1)
+      (useauxorigin false)
+      (hpglpennumber 1)
+      (hpglpenspeed 20)
+      (hpglpendiameter 15)
+      (hpglpenoverlay 2)
+      (psnegative false)
+      (psa4output false)
+      (plotreference true)
+      (plotvalue true)
+      (plotinvisibletext false)
+      (padsonsilk false)
+      (subtractmaskfromsilk false)
+      (outputformat 1)
+      (mirror false)
+      (drillshape 1)
+      (scaleselection 1)
+      (outputdirectory ""))
+  )
+
+  (net 0 "")
+
+  (net_class Default "Класс цепей по умолчанию."
+    (clearance 0.254)
+    (trace_width 0.2032)
+    (via_dia 0.889)
+    (via_drill 0.635)
+    (uvia_dia 0.508)
+    (uvia_drill 0.127)
+  )
+
+  (gr_text ᶠᶡᶢᶣᶤᶥᶦᶧᶨᶩᶪᶫᶬᶭᶮᶯᶰᶱᶲᶳᶴᶵᶶᶷᶸᶹᶺᶻᶼᶽᶾᶿ (at 99.9998 55.99938) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚᶛᶜᶝᶞᶟ (at 99.9998 51.99888) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵸᵹᵺᵻᵼᵽᵾᵿ (at 99.9998 48.00092) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᵀᵁᵂᵃᵄᵅᵆᵇᵈᵉᵊᵋᵌᵍᵎᵏᵐᵑᵒᵓᵔᵕᵖᵗᵘᵙᵚᵛᵜᵝᵞᵟ (at 99.9998 44.00042) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᴬᴭᴮᴯᴰᴱᴲᴳᴴᴵᴶᴷᴸᴹᴺᴻᴼᴽᴾᴿ (at 99.9998 39.99992) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟ (at 99.9998 35.99942) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ԀԁԂԃԄԅԆԇԈԉԊԋԌԍԎԏԐԑԒԓԔԕԖԗԘԙԚԛԜԝԞԟԠԡԢԣ (at 39.99992 159.99968) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`ῲῳῴῶῷῸΌῺΏῼ´῾ (at 99.9998 124.00026) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏ῐῑῒΐῖῗῘῙῚΊ῝῞῟ (at 99.9998 119.99976) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿ (at 99.9998 115.99926) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ (at 99.9998 111.99876) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯὰάὲέὴήὶίὸόὺύὼώ (at 99.9998 108.0008) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ὀὁὂὃὄὅὈὉὊὋὌὍὐὑὒὓὔὕὖὗὙὛὝὟ (at 99.9998 104.0003) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ (at 99.9998 99.9998) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏἐἑἒἓἔἕἘἙἚἛἜἝ (at 99.9998 95.9993) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹỺỻỼỽỾỿ (at 99.9998 91.9988) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞở (at 99.9998 88.00084) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾế (at 99.9998 84.00034) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕẖẗẘẙẚẛẜẝẞẟ (at 99.9998 79.99984) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ṠṡṢṣṤṥṦṧṨṩṪṫṬṭṮṯṰṱṲṳṴṵṶṷṸṹṺṻṼṽṾṿ (at 99.9998 75.99934) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ṀṁṂṃṄṅṆṇṈṉṊṋṌṍṎṏṐṑṒṓṔṕṖṗṘṙṚṛṜṝṞṟ (at 99.9998 71.99884) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḸḹḺḻḼḽḾḿ (at 99.9998 68.00088) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ḀḁḂḃḄḅḆḇḈḉḊḋḌḍḎḏḐḑḒḓḔḕḖḗḘḙḚḛḜḝḞḟ (at 99.9998 64.00038) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯ (at 39.99992 96.00184) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟ (at 39.99992 92.00134) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ (at 39.99992 88.00084) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟ (at 39.99992 84.00288) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿ (at 39.99992 80.00238) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟ (at 39.99992 76.00188) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ (at 39.99992 72.00138) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ (at 39.99992 68.00088) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ (at 39.99992 64.00292) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟ (at 39.99992 60.00242) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷◸◹◺◻◼◽◾◿ (at 159.99968 131.99872) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ◀◁◂◃◄◅◆◇◈◉◊○◌◍◎●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟ (at 159.99968 127.99822) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ■□▢▣▤▥▦▧▨▩▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿ (at 159.99968 124.00026) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ∛~27~=3 (at 102.99954 189.99962) (layer F.SilkS)
+    (effects (font (size 5.25018 4.0005) (thickness 0.3048)))
+  )
+  (gr_text ⏠⏡⏢⏣⏤⏥⏦⏧ (at 159.99968 119.99976) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌⏍⏎⏏⏐⏑⏒⏓⏔⏕⏖⏗⏘⏙⏚⏛⏜⏝⏞⏟ (at 159.99968 115.99926) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⎠⎡⎢⎣⎤⎥⎦⎧⎨⎩⎪⎫⎬⎭⎮⎯⎰⎱⎲⎳⎴⎵⎶⎷⎸⎹⎺⎻⎼⎽⎾⎿ (at 159.99968 111.99876) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⎀⎁⎂⎃⎄⎅⎆⎇⎈⎉⎊⎋⎌⎍⎎⎏⎐⎑⎒⎓⎔⎕⎖⎗⎘⎙⎚⎛⎜⎝⎞⎟ (at 159.99968 107.99826) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⍠⍡⍢⍣⍤⍥⍦⍧⍨⍩⍪⍫⍬⍭⍮⍯⍰⍱⍲⍳⍴⍵⍶⍷⍸⍹⍺⍻⍼⍽⍾⍿ (at 159.99968 104.0003) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⍀⍁⍂⍃⍄⍅⍆⍇⍈⍉⍊⍋⍌⍍⍎⍏⍐⍑⍒⍓⍔⍕⍖⍗⍘⍙⍚⍛⍜⍝⍞⍟ (at 159.99968 99.9998) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⌠⌡⌢⌣⌤⌥⌦⌧⌨〈〉⌫⌬⌭⌮⌯⌰⌱⌲⌳⌴⌵⌶⌷⌸⌹⌺⌻⌼⌽⌾⌿ (at 159.99968 95.9993) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⌀⌁⌂⌃⌄⌅⌆⌇⌈⌉⌊⌋⌌⌍⌎⌏⌐⌑⌒⌓⌔⌕⌖⌗⌘⌙⌚⌛⌜⌝⌞⌟ (at 159.99968 91.9988) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋮⋯⋰⋱⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿ (at 159.99968 87.9983) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⋀⋁⋂⋃⋄⋅⋆⋇⋈⋉⋊⋋⋌⋍⋎⋏⋐⋑⋒⋓⋔⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟ (at 159.99968 84.00034) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⊠⊡⊢⊣⊤⊥⊦⊧⊨⊩⊪⊫⊬⊭⊮⊯⊰⊱⊲⊳⊴⊵⊶⊷⊸⊹⊺⊻⊼⊽⊾⊿ (at 159.99968 79.99984) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊌⊍⊎⊏⊐⊑⊒⊓⊔⊕⊖⊗⊘⊙⊚⊛⊜⊝⊞⊟ (at 159.99968 75.99934) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ≠≡≢≣≤≥≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿ (at 159.99968 71.99884) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ≀≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟ (at 159.99968 67.99834) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ∠∡∢∣∤∥∦∧∨∩∪∫∬∭∮∯∰∱∲∳∴∵∶∷∸∹∺∻∼∽∾∿ (at 159.99968 64.00038) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ∀∁∂∃∄∅∆∇∈∉∊∋∌∍∎∏∐∑−∓∔∕∖∗∘∙√∛∜∝∞∟ (at 159.99968 59.99988) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⇠⇡⇢⇣⇤⇥⇦⇧⇨⇩⇪⇫⇬⇭⇮⇯⇰⇱⇲⇳⇴⇵⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿ (at 159.99968 55.99938) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⇀⇁⇂⇃⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇎⇏⇐⇑⇒⇓⇔⇕⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟ (at 159.99968 51.99888) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ↠↡↢↣↤↥↦↧↨↩↪↫↬↭↮↯↰↱↲↳↴↵↶↷↸↹↺↻↼↽↾↿ (at 159.99968 47.99838) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟ (at 159.99968 44.00042) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵ (at 159.99968 35.99942) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₔ (at 159.99968 31.99892) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ‰‱′″‴‵‶‷‸‹›※‼‽‾‿⁀⁁⁂⁃⁄⁅⁆⁇⁈⁉⁊⁋⁌⁍⁎⁏⁐⁑⁒⁓⁔⁕⁖⁗⁘⁙⁚⁛⁜⁝⁞ (at 159.99968 27.99842) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ‐‑‒–—―‖‗‘’‚‛“”„‟†‡•‣․‥…‧ (at 159.99968 24.00046) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ӠӡӢӣӤӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӶӷӸӹӺӻӼӽӾӿ (at 39.99992 156.00172) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ӀӁӂӃӄӅӆӇӈӉӊӋӌӍӎӏӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟ (at 39.99992 152.00122) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ҠҡҢңҤҥҦҧҨҩҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽҾҿ (at 39.99992 148.00072) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text Ҁҁ҂҃҄҅҆҇҈҉ҊҋҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟ (at 39.99992 144.00276) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ѠѡѢѣѤѥѦѧѨѩѪѫѬѭѮѯѰѱѲѳѴѵѶѷѸѹѺѻѼѽѾѿ (at 39.99992 140.00226) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text абвгдежзийклмнопрстуфхцчшщъыьэюя (at 39.99992 136.00176) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ (at 39.99992 132.00126) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏѐёђѓєѕіїјљњћќѝўџ (at 39.99992 128.00076) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼϽϾϿ (at 39.99992 124.0028) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ϐϑϒϓϔϕϖϗϘϙϚϛϜϝϞϟ (at 39.99992 120.0023) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϏ (at 39.99992 115.99926) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήί (at 39.99992 112.0013) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ͰͱͲͳʹ͵Ͷͷͺͻͼͽ;΄΅Ά·ΈΉΊΌΎΏ (at 39.99992 108.0008) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text "Сколько 2+2" (at 48.00092 185.0009) (layer B.Cu)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)) (justify mirror))
+  )
+  (gr_text ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ (at 39.99992 56.00192) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş (at 39.99992 52.00142) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿ (at 39.99992 48.00092) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ (at 39.99992 44.00042) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ (at 41.00068 39.99992) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß (at 39.99992 36.00196) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text  ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ (at 39.99992 32.00146) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text `abcdefghijklmnopqrstuvwxyz{|} (at 39.99992 28.0035) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ (at 39.99992 24.003) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text " !@#$%'()*+,-./0123456789:;<=>?" (at 39.99992 20.0025) (layer F.SilkS)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text "LPC2144\n2+2=x" (at 71.99884 184.00014) (layer F.Cu)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text R18 (at 61.00064 189.99962) (layer F.Cu)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)))
+  )
+  (gr_text R18 (at 61.00064 185.99912) (layer B.Cu)
+    (effects (font (size 2.032 1.524) (thickness 0.3048)) (justify mirror))
+  )
+  (gr_text "TEXT EXAMPLE\nQu? 2+2=4\nàáâãäåæ" (at 27.0002 185.0009) (layer F.SilkS)
+    (effects (font (size 1.50114 1.99898) (thickness 0.20066)))
+  )
+
+)
diff --git a/pcbnew/pcbplot.cpp b/pcbnew/pcbplot.cpp
index 0f4874083d..7d5527e88f 100644
--- a/pcbnew/pcbplot.cpp
+++ b/pcbnew/pcbplot.cpp
@@ -314,8 +314,10 @@ void BuildPlotFileName( wxFileName*     aFilename,
 
 
 PLOT_CONTROLLER::PLOT_CONTROLLER( BOARD *aBoard )
-    : m_plotter( NULL ), m_board( aBoard )
 {
+    m_plotter = NULL;
+    m_board = aBoard;
+    m_plotLayer = UNDEFINED_LAYER;
 }
 
 
@@ -351,14 +353,14 @@ bool PLOT_CONTROLLER::OpenPlotfile( const wxString &aSuffix,
     /* Save the current format: sadly some plot routines depends on this
        but the main reason is that the StartPlot method uses it to
        dispatch the plotter creation */
-    m_plotOpts.SetFormat( aFormat );
+    GetPlotOptions().SetFormat( aFormat );
 
     // Ensure that the previous plot is closed
     ClosePlot();
 
     // Now compute the full filename for the output and start the plot
     // (after ensuring the output directory is OK)
-    wxString outputDirName = m_plotOpts.GetOutputDirectory() ;
+    wxString outputDirName = GetPlotOptions().GetOutputDirectory() ;
     wxFileName outputDir = wxFileName::DirName( outputDirName );
     wxString boardFilename = m_board->GetFileName();
 
@@ -367,14 +369,14 @@ bool PLOT_CONTROLLER::OpenPlotfile( const wxString &aSuffix,
         wxFileName fn( boardFilename );
         BuildPlotFileName( &fn, outputDirName, aSuffix, GetDefaultPlotExtension( aFormat ) );
 
-        m_plotter = StartPlotBoard( m_board, &m_plotOpts, UNDEFINED_LAYER, fn.GetFullPath(), aSheetDesc );
+        m_plotter = StartPlotBoard( m_board, &GetPlotOptions(), ToLAYER_ID( GetLayer() ), fn.GetFullPath(), aSheetDesc );
     }
 
     return( m_plotter != NULL );
 }
 
 
-bool PLOT_CONTROLLER::PlotLayer( LAYER_NUM aLayer )
+bool PLOT_CONTROLLER::PlotLayer()
 {
     LOCALE_IO toggle;
 
@@ -383,7 +385,7 @@ bool PLOT_CONTROLLER::PlotLayer( LAYER_NUM aLayer )
         return false;
 
     // Fully delegated to the parent
-    PlotOneBoardLayer( m_board, m_plotter, ToLAYER_ID( aLayer ), m_plotOpts );
+    PlotOneBoardLayer( m_board, m_plotter, ToLAYER_ID( GetLayer() ), GetPlotOptions() );
 
     return true;
 }
diff --git a/pcbnew/plotcontroller.h b/pcbnew/plotcontroller.h
index 9094188176..9271943ec2 100644
--- a/pcbnew/plotcontroller.h
+++ b/pcbnew/plotcontroller.h
@@ -34,7 +34,6 @@
 
 class PLOTTER;
 class BOARD;
-class REPORTER;
 
 
 /**
@@ -47,29 +46,51 @@ public:
     /** Batch plotter constructor, nothing interesting here */
     PLOT_CONTROLLER( BOARD *aBoard );
 
-    /** Batch plotter destructor, ensures that the last plot is closed */
+    /** Batch plotter destructor, ensures that the last plot is closed
+     */
     ~PLOT_CONTROLLER();
 
-    PCB_PLOT_PARAMS *AccessPlotOpts() { return &m_plotOpts; }
+    /**
+     * Accessor to the plot parameters and options
+     */
+    PCB_PLOT_PARAMS& GetPlotOptions() { return m_plotOptions; }
+
+    void SetLayer( LAYER_NUM aLayer ) { m_plotLayer = aLayer; }
+    LAYER_NUM GetLayer() { return m_plotLayer; }
+
+
+    /**
+     * @return true if a plotter is initialized and can be used
+     */
     bool IsPlotOpen() const { return m_plotter != NULL; }
 
-    /** Close the current plot, nothing happens if it isn't open */
+    /** Close the current plot, nothing happens if it isn't open
+     */
     void ClosePlot();
 
     /** Open a new plotfile; works as a factory for plotter objects
+     * @param aSuffix is a string added to the base filename (derived from
+     * the board filename) to identify the plot file
+     * @param aFormat is the plot file format identifier
+     * @param aSheetDesc
      */
     bool OpenPlotfile( const wxString &aSuffix, PlotFormat aFormat,
                        const wxString &aSheetDesc );
 
-    /** Plot a single layer on the current plotfile */
-    bool PlotLayer( LAYER_NUM layer );
+    /** Plot a single layer on the current plotfile
+     * m_plotLayer is the layer to plot
+     */
+    bool PlotLayer();
 
     void SetColorMode( bool aColorMode );
     bool GetColorMode();
 
 private:
+    /// the layer to plot
+    LAYER_NUM m_plotLayer;
+
     /// Option bank
-    PCB_PLOT_PARAMS m_plotOpts;
+    PCB_PLOT_PARAMS m_plotOptions;
 
     /// This is the plotter object; it starts NULL and become instantiated
     /// when a plotfile is requested