private void Set5x8CustomCharacter(byte character, byte[] pattern)
{
if (character > 7)
throw new ArgumentOutOfRangeException("character", character, "character must be lower or equal to 7");
if (pattern.Length != 7)
throw new ArgumentOutOfRangeException("pattern", pattern, "pattern must be 7 rows long");
WriteCommand(Command.SetCGRamAddr, character << 3);
for (var i = 0; i < 7; i++)
WriteByte(pattern[i], true);
WriteByte(0, true);
}