The Arduino-LCD library is a port of the Cosa LCD support classes using the high performance Arduino-GPIO and Arduino-TWI libraries. It supports common devices such as HD44780 (aka 160X) but also MAX72XX and PCD8544. The library is built around an interface for LCD devices and adapters.
The LCD::Adapter class is an abstraction of the method of communicating with the device. Adapters for direct 4-bit parallel port, shift registers, and TWI modules using PCF8574 are available. There is also support for the LCD4884 and LCD Keypad Shields with keypad/joystick debounce and decoding.
All device drivers support the Arduino Print class so that the same functions as for Serial can be directly used for the LCDs. A number of control characters are understood by the device driver (i.e. LCD::write); invert text mode, backspace, form-feed (clear screen), carriage return, new line, and tab.