Create/Get icons in SVG format (e.g. FlatIcon)
Create and download icons-font using IcoMoon App
Extract only the font folder from the downloaded icomoon.zip archive to assets folder.
Create a new file in theme folder called _icomoon.scss with following content (thanks to Stackoverflow user):
// icomoon @font-face { font-family: 'icomoon'; src: url('../assets/fonts/icomoon.eot?ls340j'); src: url('../assets/fonts/icomoon.eot?ls340j#iefix') format('embedded-opentype'), url('../assets/fonts/icomoon.ttf?ls340j') format('truetype'), url('../assets/fonts/icomoon.woff?ls340j') format('woff'), url('../assets/fonts/icomoon.svg?ls340j#icomoon') format('svg'); font-weight: normal; font-style: normal; } @mixin makeIcon($arg, $val) { .ion-ios-#{$arg}:before , .ion-ios-#{$arg}-circle:before , .ion-ios-#{$arg}-circle-outline:before , .ion-ios-#{$arg}-outline:before , .ion-md-#{$arg}:before , .ion-md-#{$arg}-circle:before , .ion-md-#{$arg}-circle-outline:before , .ion-md-#{$arg}-outline:before { font-family: "icomoon" !important; content: $val; } } // Add such entries for each icon: //@include makeIcon(icon-balance, '\e900')
Import that file in variables.scss :
@import "icomoon";
Now you will have to write following line for each icon you want to use from your generated icon-font:
@include makeIcon(icon-<NAME>, '\e<NUMBER>') // Example: @include makeIcon(icon-balance, '\e900')
The NUMBER you will get from the icomoon.zip archive in style.css like:
.icon-balance:before { content: "\e900"; }
Now you can use your icons in the usual Ionic2 way:
<ion-icon name="icon-balance"></ion-icon>