Coder Social home page Coder Social logo

heraldry / heraldicon Goto Github PK

View Code? Open in Web Editor NEW
28.0 2.0 3.0 37.56 MB

Study heraldry, teach it to computers

Home Page: https://heraldicon.org

License: GNU General Public License v3.0

CSS 2.15% HTML 0.04% Clojure 97.81%
heraldry coat-of-arms shield history achievement heraldicon

heraldicon's Introduction

Heraldry

TL;DR: https://heraldicon.org

https://ko-fi.com/img/githubbutton_sm.svg

About

There are many heraldry resources online, but I didn’t find a lot of software to create coats of arms. And the software I found felt limited and hard to use.

There’s a Discord server now for feature requests, bug reports, or general discussion. Feel free to say hello, if also helps getting a sense of who is using this and what for, so future features can be prioritized accordingly. :)

Goals

  • Implement a system to create and render data that describes coats of arms and ultimately entire heraldic achievements.
  • Convert between blazonry and that data in both directions.
  • Create precise, canonical results (if possible) that mainly use the description of the coat of arms and heraldic rules, i.e. it is not an SVG editor with a library of elements to arrange manually.
  • Provide a wide array of emblazonment tweaks that aren’t necessarily covered in the blazonry, as different artists, regions, periods had different styles.
  • Validate coat of arms data against heraldic rules and potentially additional rule sets, e.g. specific to a period in time or region.
  • An open database of historical coats of arms with their metadata and their rendering.

Intermediate data format

It’s no attempt to re-invent Blazonry, but the renderer will need some data representation of the coat of arms, and this data needs to be more precise than blazonry. It also should not care about heraldic rules, because it needs to be more powerful than those in order to deal with all the possible exceptions and historical/regional differences.

Conversion between this data representation and blazonry in both directions is still the goal.

This data structure also is not intended for human consumption or manipulation, it is only the source of truth behind the curtains. And the user interface is the tool to wrap around it.

I think EDN is perfect for this and will result in well-structured and concise representations.

Resources

Community themes

Themes are hardcoded for the time being for various reasons. If you want me to add one, then fill out this template with HTML colour codes (hexadecimal #rrggbb) and paste it into #feature-requests on the Discord server. If you leave any tinctures empty, then it’ll default to colour in the default theme.

{;; metals
 :argent "#" ;; silver, required
 :or "#"     ;; gold, required

 ;; colours
 :azure "#"   ;; blue, required
 :vert "#"    ;; green, required
 :gules "#"   ;; red, required
 :sable "#"   ;; black, required
 :purpure "#" ;; purpur, required

 ;; stains
 :murrey "#"   ;; brown red
 :sanguine "#" ;; blood red
 :tenne "#"    ;; light brown

 ;; other
 :amaranth "#"
 :brunatre "#"     ;; brown
 :buff "#"         ;; leather
 :carnation "#"    ;; skin colour
 :copper "#"
 :orange "#"
 :rose "#"
 :white "#"
 :cendree "#"      ;; iron colour
 :bleu-celeste "#" ;; sky blue

 ::name "<the name of your theme>"
 ::attribution {:license :public-domain
                :creator-name "<the name you want to be credited with>"
                :creator-link "https://<an optional link for credits>"}}

Community escutcheons

Escutcheons are hardcoded currently, if you want me to add one, then please send an SVG of just the shape (see this example) and this template for attribution if you made it yourself:

{::name "<the name you want to give the escutcheon>"
 ::attribution {:nature :own-work
                :license :public-domain
                :creator-name "<your name>"
                :creator-link "https://<an optional link for credits>"}}

or if you based it on a file you found online (ideally under a CC license):

{::name "<the name you want to give the escutcheon>"
 ::attribution {:nature :derivative
                :license :cc-attribution-share-alike
                :license-version :v4
                :creator-name "<your name>"
                :creator-link "https://<an optional link for credits>"
                :source-license :cc-attribution-share-alike
                :source-license-version :v4
                :source-link "https://<the link of the source if you found it online>"
                :source-name "<the name of the source file>"
                :source-creator-name "<the source creator's name>"
                :source-creator-link "https://<a link to the source creator>"}}

Licensing/attribution

Any arms, collection, charge, ribbon made public on the site must get a license from the creator, and it’ll be attributed in SVGs and when viewing the thing or its derivatives on the site. See the site for details on this.

See the LICENSE file for this repository’s own licensing info.

Alternatives

Armoria is another awesome site, with a different focus. It probably is a simpler alternative for a lot of use cases.

DrawShield was the first editor I found before I started. It also is an amazing resource on heraldry in general. It has an impressive blazonry parser and a decent, if static, SVG renderer, but it is server-side, making working with it rather slow and as a beginner I found it difficult to understand the various parts of it.

heraldicon's People

Contributors

or avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

agromania dryack

heraldicon's Issues

Vairy is inverted

I noticed a difference between how Heraldicon and Drawshield displayed a blazon for Vairy so I inquired with a herald about it and they told me that the first tincture in a vairy blazon is the one touching the top.
Here, you can see that the second tincture is the one touching the top.
image

Error in charges search when creating arms

There is an issue when I try to add new charges for my coat of arms. The error happens:

  • When I type in the search bar from the "select charge" panel
  • When I click on a charge directly in the tree

Here is the screenshot from the console:

image

tincture handling of imported charges.svg

I have problems setting the colors of imported charges properly. I believe this is most likely a documentation issue because the importing procedure to set primary and infill tinctures is not described. I imported an escarboucle in the form of an SVG from Wikipedia: https://no.wikipedia.org/wiki/Fil:Escarboucle.svg but I have no clue how to set the size properly or how to define the colors (fill and outline) in a way that a user can choose and that is shows by default an outline sable and a transparent fill.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.