I've got a font called Lato, and I need to add the characters İ, Ğ, ğ, Ş and ş. How can I do this?
1st photo is the original. 2nd photo is the same font that I upgraded:
It is possible to add extra characters to fonts, but it isn't something for the faint-hearted.
The free and open source way to do it would be with Fontforge. However Fontforge, like other font editors, is complex enough that simply exporting your modified font to .ttf or similar is in itself a complex undertaking. It is a very steep learning curve. What's more, making a font that's compatible with Mac and Windows and hinting it properly is a fine art.
Other considerations include:
Do you have the right to modify the font? For Lato, you do, so that's moot in your case.
Why add them to an existing font? You could create a new font with just these glyphs in it.
Lastly, have you considered using either embedded SVG or image sprites instead? These seem like simpler options for what you want to achieve. You'll also have the benefit that you won't need to deal with complex (and inconsistent between platforms) font-rendering technologies.
Note: if you do create fonts, test them on Chrome for Windows! Chrome on Windows uses Windows GDI ClearType which will render a poorly-hinted font badly and is a good litmus test for your font.
In my experience this is both possible and straight forward, there's a comprehensive tutorial on the subject in the FontForge documentation here which refers to a menu option called "Build Accented Character" designed expressly for this purpose. This site is also useful for figuring out how the built characters should look.
I have never found any of this to be a complex undertaking and exporting the font is a pinch. FontForge may complain about various issues but remember those issues were already there when you opened the font and can be ignored.
Regarding hinting my suggestion would be modify the font and try it and see. I've never once had an issue with hinting being visibly wrong and I haven't touched it so I suspect you won't have a problem either.