LiquidCrystal library

So the standard library will do 4x20, 2x40, etc. for a total of 80 characters?

Correct. It will also handle the displays with less than 80 characters.

The same controller is used for all of the displays that have up to 80 characters and there is no way to inform the controller as to which display it is driving. This coordination must therefore be done by software and in the case of the LiquidCrystal library you use lcd.begin() to tell the library the configuration of the display you are using.

In the case of the less common larger displays, such as the 40x4, they simply use two controllers. For these displays you can use two instances of the standard LiquidCrystal library or you can use a variation, LiquidCrystal1.0, which was written to handle the 40x4 displays.

Don