I'm using Linux-x86-64 as operating system. Can someone explain this behaviour and maybe give a hint how to resolve it? Here are two lines of exact the same number of letters of a monospaced font:
Style["ZZZZZZZZZZ\n__________", 20, FontFamily -> "Courier"]
As output I get (here with 30 Z and 30 _)

But what I expect from a *monospaced* font like Courier is to have the same size for every letter (and why is the line dashed anyway?). @Oleksandr was so kind to give me mental support and tried the things on his Windows machine. There the output seems ok:

More detailed question
----------------------
What I really want is an image of arbitrary resolution of every letter. I thought when I use a combination of `Style` and `Rasterize` I can get equally sized images of them in exact the same form as they appear in text.
But there is (at least here) a clear difference between an assembled image from rasterized letters and a rasterized version of the string
ImageAssemble[
Rasterize[Style[#, 30, FontFamily -> "Courier"], "Image"] & /@
CharacterRange["A", "Z"]]
Rasterize[
Style[StringJoin[CharacterRange["A", "Z"]], 30,
FontFamily -> "Courier"], "Image"]


What I noticed is that the height of the letters is always the same, only the width varies. Looking at how many letters have which width gives here
Sort@Tally@First@
Transpose[
ImageDimensions[
Rasterize[Style[#, 30, FontFamily -> "Courier"], "Image"]] & /@
CharacterRange["A", "z"]]
(*
Out[138]= {{18, 25}, {19, 16}, {20, 8}, {21, 8}, {24, 1}}
*)
This is a mess. Any ideas about this issue would be very welcome.