printers with good drivers for linux, in general: HP, Samsung, EPSON
printers with average support for linux (only some models): Kyocera, KonicaMinolta, Xerox.
printers with bad linux support: Canon, Lexmark.
Most printers which have a LAN port will work under linux, except some KonicaMinolta and Canon ones.
If you connect you printer through USB, go with HP or Samsung, the later seems a bit faster in patching any bugs in the drivers.
HP, SAMSUNG and EPSON also support their scanner product under linux, multifunctional printers included.
Also very old parallel port printers do work (make should not matter), there were language standards back then, which disappeared in USB world.
PS: to access any printer connected to a linux computer, from a windows computer, you need to setup samba !