You can get the source from snapshots or from Github.
If you're completely new to font developing and FontForge, read the Beginner's guide article to get you started.
If you know how to work with FontForge, then still go to Beginner's guide to make you familiar with how we work with it...
Some useful commands
After you’ve forked the project on Github: https://github.com/dejavu-fonts/dejavu-fonts
In your local git directory, e.g., /home/me/git
- Get the source once from Github: git clone https://github.com/<your username>/dejavu-fonts.git
- Synchronize local copy with Github: cd dejavu-fonts; git pull
- Add the project’s fork as a second remote: git remote add upstream https://github.com/dejavu-fonts/dejavu-fonts.git
In the local DejaVu copy, e.g., /home/me/git/dejavu-fonts
- Make a branch to work on: git checkout -b mybranch
- Check for problems: make check
- Pick the changes to be committed: git add filepath
- Prepare for making the patch: make pre-patch
- Commit your changes: git commit -m"Description of the commit"
- Push your branch to your fork on Github: git push origin mybranch
- Open a merge request for that branch on Github
Remember! All DejaVu changes are placed into public domain. In case of dislike license can be changed for future versions.
- Use SFD files and not TTF files as a base for your changes. The SFD files can be found in the "src" directory.
- Use either Github, snapshots or latest release to make your patches. It's recommended to work with Github.
- Edit fonts with FontForge version 20080330 or higher.
- Generate TTF by running make full-ttf. The fonts can be found in the "build" directory.
- Run make check and examine its output. All type 0 problems it reports should be fixed before making patches.
- Run make pre-patch before generating patches. Failing to do this will make too big patches with a lot of unnecessary changed data.
- Committers should always check the merge request if the patch looks clean.
What you need to know before editing
- Fonts follow Unicode 6.0.0.
- The Plans page has a list of the glyphs that are work-in-progress - avoid making those glyphs.
- Send a notice to dejavu-fonts mailing list what you want to do, why and when do you expect it to be done, if you're planning to do big things.
- New glyphs won't be committed unless they exist in all four main typefaces (Regular, Bold, Oblique and Bold Oblique). It is not a problem if they are created only for Sans, Serif or Sans Mono. There is an exception that some glyphs have no oblique or italic variant in which case they are either duplicated in Oblique (like some symbols) or are omitted (like Arabic). Extra Light typeface stands on its own.
- Adding new glyphs to Condensed typefaces is not needed - committers will take care of it (by using narrowmerge.sh utility). However if glyph is changed in original version it must be edited in Condensed too.
- It is not necessary to add glyphs to Extra Light typefaces, but not discouraged.
About font editing
- Altering existing characters is not discouraged however original Bitstream Vera characters (see Current status) should not be altered.
- Follow the font style.
- Reuse existing glyphs - references are your friends, but don't overuse them. Never transform references (scaling, rotating, flipping...) because Windows users will have problems seeing your glyph correctly. Instead of referencing small glyphs (like dot) you should also just copy the outlines.
- Have some reusable shape? Create new glyph outside the fonts standard glyph range (unmapped glyph on position 110000 and more).
- Build your fonts and look at your new glyphs in real life.
- Updating and extending kerning information is a good thing.
- Updating or creating hinting is always good, but, please, consult it on dejavu-fonts mailing list or IRC.
- Use Find Problems feature of FontForge.
- Knowledge is good - read Typography page (especially if you create new combining diacritical marks).
- If you plan to make major changes, like making a new script, please consult our mailing list first
- Anyone can commit anything.
- Uncertain or controversial patches should be discussed on dejavu-fonts mailing list.
- Before commit run make check and make pre-patch.
- Review changes before commit.
- Update Plans and News after each commit.
- During RC period the Github project is closed and all patches must undergo public review on dejavu-fonts mailing list
- Anonymous edits are not allowed - ask for account on dejavu-fonts mailing list.
- Good changes are always welcome. Don't ask, just do it.
- For tests we have Sandbox.
- Please see documentation on customizing the interface and the User's Guide for usage and configuration help.
- See Changes to MediaWiki for list of changes done to MediaWiki in order to be able to use it with SourceForge.net's web services.
- Sidebar is changed by editing sidebar/navigation page.
- How to make new release.
- New version is released in every 4 to 6 weeks with release on Sunday and the first release candidate on Wednesday before the release.