Alignment bug with some of the fonts.
The left triangles (the dividers between the sections on the left end of powerline) are not lining up properly.
Screenshot: http://50.116.4.56/~/img/powerline-ubuntu-misaligned.png
Right after the yellow NORMAL section, the triangle that points rightward doesn't line up fully. The left vertical edge of the triangle seems slightly smaller than the height of the line, creating two kinks on top and bottom.
Simmilarly, with the incosolata font, the triangles are taller than the line.
Screenshot: http://50.116.4.56/~/img/powerline-inconsolata-misaligned.png
The Ubuntu misalignment happens in both console vim and gvim, while the inconsolata misalignment happens only in console vim (looks perfect in gvim).
EDIT: Ubuntu Mono size 13 is horrible: http://50.116.4.56/~/img/powerline-ubuntu13-misaligned.png
I have the same issue on iTerm2@OSX (though I can not see your images). Only Liberation Mono works well here. I have to change the vertical spacing between characters.
Yeah, it seems like the special characters tend to be bigger or smaller than the height of all other characters, and it's inconsistent when you change font size.
Is there any fix for this? I am having the same issue with the Anonymice font on Windows 7 and gVim.
Currently no. There's just too many factors (different ways of calculating font metrics, different operating systems, different antialiasing technologies, different fonts) to reliably patch a font for every single combination of these factors. You can patch it manually in fontforge or ignore the issue until a fix is found.
After trying powerline on terminal vim and zsh on Ubuntu and OS X, I have found the most consistent good performance is to use the Droid Mono for Powerline for both the ASCII and non-ASCII fonts in iTerm2 on OS X (both with terminal vim and using the zsh agnoster theme).
I've found that I can set both the ASCII and non-ASCII to 18 and everything lines up perfectly. With other fonts I've found that if I mix the non-ASCII from a different font then everything lines up well. Or, the alignment is good when I just subtract up to one pixel from the non-ascii font.
@Lokaltog I've always downloaded pre-patched fonts. When you say "patch it manually", do you mean just running the patching scripts locally? Or open up FontForge and tweak alignment in there?
I've tried a number of combinations, and I haven't been able to find any that line the arrows up properly in Ubuntu Mono. Here are two attempts from Arch:

I've created clean Ubuntu, Debian, Fedora, and OpenSUSE VMs just to see if it's something with my local config. They're all off. Is this expected? Is it possible I'm consistently forgetting some step in the install instructions, or does the fact that I'm seeing the glyphs at all mean that I did all the steps? How did all the screenshots I see on the internet manage to get their perfect alignment?! >.<
I've been playing with this in FontForge, and these seem to be the tweaks that make things look good in gnome-terminal: https://github.com/oconnor663/powerline-fontpatcher/commit/d2c66ea7bfc5b445ed21f075e062cfb62ba26591
This is my first time editing a font, so I have no idea what I'm doing. Here's what it comes out looking like (Arch Linux, gnome-terminal, Ubuntu Mono 15, gnome-tweak-tool set to "light" font hinting, ubuntu-patched font rendering libraries):

Same issue here, tried with roboto, monospace, etc.
@oconnor663 Thanks, man, it helped me a lot. My Vim was so ugly to look at, and now, it looks like heaven. Thanks a lot. :)
I know that this thread is a bit old, but for anybody reading who doesn't want to patch a font by themselves, I found a simpler solution, in the native Terminal app. You have to change the line spacing in the font settings, and you can get the glyphs to match up with the size of the text.
Hope this helps
I can confirm @Who23 solution plus I played with it a bit and found that the issue seems to be that the font height is not changed for the special characters when the vertical character spacing gets change. i.e. on 100% which is the default it seems to be off for iterm2. Decreasing the value increases the effect like shown in @oconnor663's first image (special powerline glyphs appear to small) whereas increasing the line spacing increases the effect of the second image (special powerline glyphs appear to big). For me setting it to 110% works but I guess it depends on the font family and the size used.
I'm having the same problem on termite on arch, is there a solution?
Hi, I'm also having this problem on Ubuntu 18.04. Is there any solution to fixing the font?
Same issue on macOS Mojave.
Same on Ubuntu 19.10 Budgie with Tilix or Guake.
Having this issue in Terminal.app but not iTerm2.app - macOS Catalina
Same issue on macOS Catalina 10.15.4 on Terminal.
As @threedogs1 stated, iTerm2 works fine and was the solution for me.
@mateusfccp @threedogs1 using iterm is not a solution as it can happen there as well. It’s caused by choosing the „wrong“ font size. For some font sizes the glyphs just can’t align properly. So when creating new profiles or changing existing font settings in existing ones you might break it again. It’s an issue I discovered on any font that has the powerline glyphs patched. But only those glyphs are broken so I simply stopped using them. Anybody who still uses them and encounters this bug has no choice but to choose a different font size or live with it. No matter the terminal emulator that is used.
Sent with GitHawk
@ohcibi I tried different sizes on both terminals, and yeah, iTerm2 worked and Terminal didn't.
for me what kills me is the gap here:
anyway to fix it? That's MesloLGSDZ Nerd Font Mono
@SHJordan I had the same problem (the vertical line artifacts) on Ubuntu using gnome-terminal.
Follow the instructions here: https://superuser.com/a/1701787/144279
If you are using a different program you can change the prgname filter accordingly or remove it to be system wide for your chosen font.
I found that it is the standard lcdfilter that causes those little vertical lines for powerline symbols.
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<test name="family" qual="any" compare="eq">
<string>MesloLGSDZ Nerd Font</string>
</test>
<test name="prgname" compare="contains">
<string>gnome-terminal</string>
</test>
<edit name="lcdfilter" mode="assign">
<const>lcdlegacy</const>
</edit>
</match>
</fontconfig>