Theme typography is controlled from Apperiance >> Theme Settings >> Typography. Here you can also upload custom font-family and use it in custom styling.
Most custom fonts have 3 formats included in its pack. They are: eot, woff, truetype, svg. Upload that files using custom font upload button (you can also upload custom font files as you upload images from wordpress media library).
Once you uploaded custom font you need to write font-family style, to be able to use custom font family in content.

	font-family: 'MyWebFont';
	src: url('http://yoursite/wp-content/uploads/WebFont.eot');
	src: url('http://yoursite/wp-content/uploads/WebFont.eot?iefix') format('eot'),
	url('http://yoursite/wp-content/uploads/WebFont.woff') format('woff'),
	url('http://yoursite/wp-content/uploads/WebFont.ttf') format('truetype'),
	url('http://yoursite/wp-content/uploads/WebFont.svg#webfont') format('svg');

You need to change the path of each uploaded file to match your font family files and also give a name to your custom font family. Remember, if you want to have your custom font available in all major browsers, you need to have 4 types of custom font file: oet, woff, ttf, svg. All the patterns are included in code above, just make sure the path is correct.
After you uploaded and wrote a style for custom font family it is time to APPLY that font family to elements you want. If you want to asign custom font family to hole website as main font family go to theme options >> styling and add styles.

body, button, input, select, 
textarea, pre, code, kbd, samp, dt, optgroup {

Just change MyWebFont to your font name.
If you want to apply custom font to headings too also add this style to custom css

h1,h2,h3,h4,h5,h6 {

If you need custom font for buttons, just add this style:

.button {

With custom font you can target any element you want to write custom styles. More about custom styles find here