Libpng was written as a companion to the PNG specification, as a way to reduce the amount of time and effort it takes to support the PNG file format in application programs. Most users will not have to modify the library significantly; advanced users may want to modify it more. The library was coded for both users. All attempts were made to make it as complete as possible, while keeping the code easy to understand. Currently, this library only supports C. Support for other languages is being considered.