Why should we have Device::TextAlign and TextHAlignment::XXX? Could we just use which in FontDefinition?