This paper describes a scheme for finite element mesh generation of a convex, non-convex polygon and multiply connected linear polygon. We first decompose the arbitrary linear polygon into simple sub regions in the shape of polygons.These subregions may be simple convex polygons or cracked polygons.We can divide a nonconvex polygon into convex polygons and cracked polygons We then decompose these  polygons into simple sub regions in the shape of triangles. These simple regions are then triangulated to generate a  fine mesh of  triangular elements. We propose then an automatic triangular to quadrilateral conversion scheme. Each isolated triangle is split into three quadrilaterals according to the usual scheme, adding three vertices in the middle of the edges and a vertex at the barrycentre of the element. To preserve the mesh conformity a similar procedure is also applied to every triangle of the domain to fully discretize the given convex polygonal  domain   into all quadrilaterals, thus propagating  uniform  refinement. This simple method generates a high quality mesh whose elements confirm well to the requested shape by refining the problem domain. The proposed scheme has been realized as  computer programs and a number of examples have been included to demonstrate the technique. Although the paper describes the scheme as applied to planar domains, it could be extended to three dimensions as well. We have appended MATLAB programs which incorporate the mesh generation scheme developed in this paper. These programs provide valuable  output on the nodal coordinates ,element connectivity  and graphic display of the all quadrilateral mesh for application to finite element analysis.