Dyslexic Character Sheets

How to use the open source content

All the files for these character sheets can be found on the open source repository.

Get the files here

You may find that a bit daunting though, so the following pages describe how to make best use of that resource.

What can I do with them?

You can:

  • Edit any of the pages to fit your own needs
  • Create sheets for extra classes or archetypes (and submit those back to the project if you like)
  • Publish your own version of the project, or base another project off it
  • Help translate the sheets into different languages
  • Run your own copy of the website and Build My Character tool

Getting the files

There are two ways to get the files:

  • If you only need one or two files, you can download them directly from the repository. Find the file you want in the repository, and look for the option to "View Raw".
  • If you're likely to need complete directories or the whole project, or if you want to run a copy of the website, then use Git to grab the whole lot.

If you're using Windows or a Mac, I recommend installing GitHub for Windows or GitHub for Mac, though there are plenty of other options. If you're on Linux you can use the command line or any number of other tools. What all these programs let you do is to download the entire project as a folder, then keep that folder up to date as changes get published.


These files have been released under the Artistic License 2.0, which a very permissive license. You're allowed to:

  • Distribute copies of these files
  • Make modifications, publish those modifications for other people and incorporate other people's modifications
  • Run your own copy of the Build My Character tool
  • Include these character sheets within products of your own

On condition that:

  • You're honest about where the work came from, crediting this website, and don't remove any copyright notices from the files
  • You don't charge money for these sheets (except for a reasonable distribution fee)
  • You respect the intellectual property belonging to other companies (notably Paizo Publishing LLC and Wizards of the Coast LLC, as well as any third parties)

For the purposes of the license, the artwork files are considered “source” while the complete PDF is considered an “executable”. The same license also covers this website and the Build My Character tool.

If you need something not covered by the license, or have any questions, just ask.

Legal information

Obviously, these character sheets are built on the work of a number of other companies and individuals.

I'm grateful to all the companies whose products I use, and you can find a more complete attribution on the Legal Information page. I'm also grateful to everyone who has helped out with feedback, fixes, improvements and contributions.

Legal Information

Structure of the project

  • OGLv1.0a.rtf the Open Gaming License
  • Pathfinder pages for Pathfinder RPG
    • Core
      • Character Info.ai the first page
      • Combat.ai the Combat page
      • Wizard.ai a class-specific page
      • Barbarian
        • Barbarian.ai
        • Character Info - Barbarian.ai special version of the first page
    • Advanced
      • Alchemist.ai another class-specific page
    • Archetypes
      • Monk
        • Drunken Master.ai a Monk archetype
    • Psionics from Dreamscarred Press
  • 3.5 pages for Dungeons & Dragons 3.5
  • NeoExodus from LJP Design
  • Extra a few other pages
  • Languages for translations
    • messages.csv template messages file
    • Italian pages for Dungeons & Dragons 3.5
      • Italian.csv translations into Italian
  • Fonts
  • Iconics character images to use on the Inventory page
  • Scripts
    • Check all files.jsx find out if any Illustrator files are broken
    • Export as PDF.jsx turn a whole folder of Illustrator files into PDFs
    • i18n apply CSV translations.jsx translate a set of Illustrator files using a CSV
    • i18n extract strings to CSV.jsx run through a set of Illustrator files, producing a template CSV
    • i18n merge translations.jsx combine translations from two CSV files into one
    • List installed fonts to CSV.jsx make a list of all the fonts on your system
    • List used fonts to CSV.jsx make a list of all fonts used in a set of Illustrator files
    • Replace fonts in AI from CSV.jsx change all the fonts used in a set of Illustrator files
  • Composer this website
    • app
      • controllers contain actions
        • Application.scala the main controller for the website
        • Composer.scala actually builds the PDFs
      • models
        • gamedata.scala corresponds to the JSON files in the data directory
        • chardata.scala data for a character
      • views
        • main.scala.html the parent of all views, does heavy lifting
        • index.scala.html the front page
        • build.scala.html the Build My Character page
    • conf configuration
      • routes map URLs to actions
    • public
      • OGLv1.0a.rtf website copy of the Open Gaming License
      • images
        • party.png an image used on the website
        • iconics the character portraits, resized for the web
      • data
        • pathfinder.json data file for Pathfinder
        • dnd35.json data file for Dungeons & Dragons 3.5
      • pdf the actual pages in PDF
        • pathfinder
          • Core
            • Character Info.pdf the first page
            • Combat.pdf the Combat page
            • Wizard.pdf a class-specific page
            • Barbarian
              • Barbarian.pdf
              • Character Info - Barbarian.pdf special version of the first page
        • dnd35
        • languages translated PDFs
          • italian Italian translation
            • pathfinder Italian translation of the Pathfinder page
            • dnd35 Italian translation of the Dungeons & Dragons 3.5 pages

How to edit the pages

There are nearly 300 separate pages in the repository now, covering classes and archetypes, core features and special cases. But if what you need is a little different from what I've provided, you can take my files and use them to create your own.

You will need

The pages were created using Adobe Illustrator, and for best results you'll need either a copy of Illustrator or another program that can read Illustrator files directly. If you don't have one of those you can use a program that will open the PDF files, such as Inkscape, but the results won't be as good.

Before you start

Grab and install the fonts from the Fonts folder in the repository. They're all legal.

Get a copy of at least the few files you want to edit, if not the entire project.

Saving as PDF

You'll probably want to save the Illustrator

How to translate the project into your own language

If your language isn't on the list of translations already supported, you can help the project by contributing a translation. You shouldn't need to touch the Illustrator files to translate them. Instead, you'll edit a simple spreadsheet.

How it works

If you'd like to help translate, first check the thread on Paizo's forum to see if somebody has already started. If they have, I recommend you work with them.

You don't need to do the whole thing yourself, lots of people can cooperate. For each language, I'll appoint one person to be in charge. They'll make sure that the translations other people send in make sense.

You get a spreadsheet containing all the fragments of text used across all the character sheets. Some fragments get used in many different places, but you only need to translate them once.

When you've done some translating, send the file back to me. I'll use my magic to apply those translations to the PDFs, and send them back to you to look at. Once the translation is nearing completness, I'll include it on the website.

You will need

Software to edit a spreadsheet.

If you'd like to process your translations yourself, then a copy of Adobe Illustrator.

Get a copy of one of the translation templates from the Languages folder in the repository.

Open the file

Make absolutely certain you open the file using UTF-8 encoding, comma delimiters and " quotes.

When you save the file, save it as CSV with the same settings. Be sure to include line 1 with the heading the same as when you opened it.

Frame number   Original          Translation   Count   Part of             File count   Files
9              Alchemist|Level                 12                          1            Alchemist
720            BASE|ATTACK                     7       BASE|ATTACK BONUS   5            Eidolon - Combat, Combat...
720            BONUS                           7       BASE|ATTACK BONUS   5            Eidolon - Combat, Combat...

How to translate

Original     Translation
Swim Speed   Velocità di Nuoto

In each line, look at the Original and put the translated text in the Translation column. Don't change any columns except Translation.

Original         Translation
Dodge|Modifier   Modificatore|di Schivare

The vertical bar character | is used to represent a line break. If the original has a line break, then the translation should as well.

File count   Files
10           Animal Companion, Combat, Wild Shape...

File count says how many different files the text is used in, and Files lists them. You can sort the rows by their File count to translate the most important lines first.

Split text

Sometimes a single text box uses more than one style. In this case the text will be split into several lines.

Frame number   Original           Part of
16             DEFENCE            COMBAT MANOEUVRE|DEFENCE

The lines are grouped together using the Frame number column, and the whole text appears in the Part of column. When translating one of these, remember to translate them as a single sentence.

Frame number   Original     Translation   Part of

Each language uses words in a different order. When translating split text, you may need to change the order in which pieces of text appear.

Turning spreadsheets into reality

If you have a copy of Adobe Illustrator, you can apply these changes to the character sheets directly.

Get a copy of the entire project using Git, and make sure your translation file is saved as CSV, using Unicode format, with comma delimiters.

How to run a copy of the website and character sheet builder

Having created your own pages, you probably want to build character sheets using them. To do this you'll need to run a copy of the website. You don't need to be a programmer, but I only recommend trying this if you're technically competent.

You will need

First install a Java JRE, making sure it's a recent version. Then install the Play! Framework, which you'll need to run the website itself. Make sure you've added the Play! Framework's folder (such as c:\play-2.0.4) to your path variable.

Download at least the entire Composer directory from the open source repository.

Running the site

Bring up a command line. You can do this on Windows by hitting the Start button and typing cmd. Use cd and dir to make your way to the Composer directory. When you're there, type:

play run

It will then proceed to download all the different components needed to run the website (this bit can take a long time, and does require an internet connection) and eventually tell you that it's listening on port 9000. When it does, open up a web browser and navigate to localhost:9000.


The mostly likely problem you'll have is that the Play! Framework isn't correctly installed.

Adding pages

The pages for each game are controlled in JSON data files in Composer/public/data, either pathfinder.json or dnd35.json. You'll need to learn JSON, which isn't complicated but can be temperamental. Each time you make a change, test it with JSON Lint to see if you've made a mistake.

The books section lists what classes are in which books; the classes section lists the pages that class needs; and the pages section connects class names to file names. To add a class, you'll need to add any new pages to the pages section, then add a new class entry to the classes section, then add it to a book in the books section.

Pages belong in slots, with the rule that each slot gets printed only once. So each character only has one inventory page, but there are several different versions of the inventory that could be included.

Adding a web page

If you're not a programmer, the following may be a little difficult.

To add a page to the site, you'll need to add one line into Composer/conf/routes, an action into Composer/app/controllers/Application.scala and a view into Composer/app/views. Use the existing routes, actions and views as examples.

Views are written in a combination of Scala and HTML.

Adding a game system

To add a whole new game, you'll need to add a JSON file for it in the Composer/public/data folder, using the same format as pathfinder.json; create a route for the builder and a route for the PDF composer in Composer/conf/routes.

Fork me on GitHub