This repository contains some simple tools to create images of heraldic shields.
Currently, you can create shields using the basic colors and metals, the variations of ermine, and vair.
Most to the traditional ordinaries are supported: fess, pale, chief, bend, bend sinister, saltire and cross:
Two of the subordinaries are available: the border and the label. The border is available in several variartions and can be divided for different tincutes. Useful for differencing (see Stodart System).
The basic lines of division are availabe: per pale, per fess, per bend and bend sinsiter, per chevron, per cross, per saltire and gyronny.
Several basic charges can be used: annulet, crescent, fleur-de-lis, heart, lozenge, martlet, mullet, rose, roundel:
Multiple charges can be arranged in a variety of ways:
To create a shield, use the Builder class to construct the shield and a FileWriter instance to save to a file.
For instance, for the basic cas of "or a fess guile":
FileWriter fileWriter = new PNGFileWriter(200, 250);
Builder builder = new Buidler(fileWriter);
builder.add(new Shield(Tincture.OR);
builder.add(new Fess(Tincture.GULES);
builder.build(fw -> {
fw.writeToFile("or-a-fess-gules.png"):
});Which would produce:
When placing charges on the filed, you need to specify not only the tincture, but the relative location of the field and the scaling of the charge. For "sable, three bezants in pale": FileWriter fileWriter = new PNGFileWriter(200, 250);
Builder builder = new Buidler(fileWriter);
builder.add(new Shield(Tincture.SABLE);
builder.add(new Roundel(Tincture.OR, Shield.Position.PALE_TOP, 1.0));
builder.add(new Roundel(Tincture.OR, Shield.Position.CENTER, 1.0));
builder.add(new Roundel(Tincture.OR, Shield.Position.PALE_BOTTOM, 1.0));
builder.build(fw -> {
fw.writeToFile("sable-three-bezants-in-pale.png"):
});This produces:
Builder also has convenience methods so you could do the first example like this instead:
FileWriter fileWriter = new PNGFileWriter(200, 250);
Builder builder = new Buidler(fileWriter);
builder.fieldOf(Tincture.OR)
.fess(Tincture.GULES)
.build(fw -> {
fw.writeToFile("or-a-fess-gules.png"):
});In addition to various plain fields, the various divisions of the field are availabe.
There are three demo programs.
First there is DrawRandomMultieImage which creates a bunch of random shields and writes them to individual files.
Next is DrawRandomSinglePage which creates a bunch of random shields and puts them in a grid in a single image.
Botr are good examples of how to contruct various types of shield but there are a few cases where it violates the color/metal rule or the field and charge don't contrast enough.
Last is DrawEverything which generates examples of most of the ordinaries and charges. It was used to generate the sample images above.
One of my original goals was to recreate the well known diagram of the Stodart system for differencing arms in Scotland. I created invected, engrailed and indented versions of the fess and border. The border can also partitioned by color in a variety of ways.
I've never been able to track down the origin of the diagram although I've seen variations in many places. I've also never tracked the orginal document by Stodart or really any sort of written description. In any case, it's likely this is more of a guideline than any sort of formal rule. Presumably, the heralds have considerable discretion on what to actuall do. This chart was take from Innes of Learney's Scots Heraldry.
The correct precedence of border colors has argent for the third son. The rule is that if the border matches the field, the border should be checked with another tinccutre, usally the tincture of the ordinary or principal charge. Like most of the sources I'm skipping argent for simplicity's sake.
The shields were created in by the StodarySystem class.
Most of the designs were done by me using the Java AWT toolkit.
The Martlet, Rose and Fleur-de-Lis charges were derived from SVG files created by Wikiemedia user Hstoops.
The files are:
- https://commons.wikimedia.org/wiki/File:Martlet_Fourth_son.svg
- https://commons.wikimedia.org/wiki/File:Fleur-de-lys_Sixth_son.svg
- https://commons.wikimedia.org/wiki/File:Rose_Seventh_son.svg
These files is licensed under the Creative Commons Attribution 4.0 International license.