Bug 692990: Fix 'underjoin' of strokes.
Bug 692990: Fix 'underjoin' of strokes.

See Bug 688655 for analysis of what we SHOULD be doing. The code changes
to do this are actually quite small.

Essentially, when we join we only draw the 'top' (or 'outer') join in a
join dependent way. The 'under' join was always joined as a bevel before
as this was easy. This produces bad effects when the lines have a
significant angle between them and a large linewidth.

The correct (i.e. matching Acrobat and others) way to work is to
join the bottom of the line via the centre point. The sole exception
to this is when drawing under beziers, as we don't want to make our
approximation-by-lines obvious.

All fixed in this patch.

knielsen/mupdf,sebras/mupdf,ArtifexSoftware/mupdf,flipstudio/MuPDF,derek-watson/mupdf,flipstudio/MuPDF,tribals/mupdf,crow-misia/mupdf,ylixir/mupdf,michaelcadilhac/pdfannot,robamler/mupdf-nacl,xiangxw/mupdf,knielsen/mupdf,hxx0215/MuPDFMirror,geetakaur/NewApps,wild0/opened_mupdf,TamirEvan/mupdf,zeniko/mupdf,michaelcadilhac/pdfannot,TamirEvan/mupdf,andyhan/mupdf,tribals/mupdf,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,lamemate/mupdf,ylixir/mupdf,xiangxw/mupdf,knielsen/mupdf,kobolabs/mupdf,samturneruk/mupdf_secure_android,sebras/mupdf,poor-grad-student/mupdf,ylixir/mupdf,ziel/mupdf,wild0/opened_mupdf,zeniko/mupdf,issuestand/mupdf,FabriceSalvaire/mupdf-v1.3,tophyr/mupdf,lolo32/mupdf-mirror,muennich/mupdf,lamemate/mupdf,poor-grad-student/mupdf,PuzzleFlow/mupdf,lolo32/mupdf-mirror,asbloomf/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,tribals/mupdf,nqv/mupdf,fluks/mupdf-x11-bookmarks,kobolabs/mupdf,wild0/opened_mupdf,cgogolin/penandpdf,clchiou/mupdf,zeniko/mupdf,asbloomf/mupdf,ccxvii/mupdf,michaelcadilhac/pdfannot,PuzzleFlow/mupdf,ccxvii/mupdf,derek-watson/mupdf,PuzzleFlow/mupdf,wzhsunn/mupdf,FabriceSalvaire/mupdf-cmake,github201407/MuPDF,lamemate/mupdf,issuestand/mupdf,lamemate/mupdf,samturneruk/mupdf_secure_android,isavin/humblepdf,sebras/mupdf,kobolabs/mupdf,ziel/mupdf,kobolabs/mupdf,isavin/humblepdf,ccxvii/mupdf,samturneruk/mupdf_secure_android,fluks/mupdf-x11-bookmarks,muennich/mupdf,asbloomf/mupdf,ccxvii/mupdf,benoit-pierre/mupdf,geetakaur/NewApps,github201407/MuPDF,andyhan/mupdf,issuestand/mupdf,muennich/mupdf,hackqiang/mupdf,FabriceSalvaire/mupdf-v1.3,cgogolin/penandpdf,isavin/humblepdf,tophyr/mupdf,loungeup/mupdf,TamirEvan/mupdf,crow-misia/mupdf,andyhan/mupdf,poor-grad-student/mupdf,FabriceSalvaire/mupdf-v1.3,sebras/mupdf,github201407/MuPDF,muennich/mupdf,lamemate/mupdf,TamirEvan/mupdf,benoit-pierre/mupdf,tophyr/mupdf,ArtifexSoftware/mupdf,benoit-pierre/mupdf,lolo32/mupdf-mirror,TamirEvan/mupdf,MokiMobility/muPDF,tophyr/mupdf,asbloomf/mupdf,issuestand/mupdf,tribals/mupdf,andyhan/mupdf,clchiou/mupdf,nqv/mupdf,MokiMobility/muPDF,xiangxw/mupdf,poor-grad-student/mupdf,flipstudio/MuPDF,michaelcadilhac/pdfannot,loungeup/mupdf,ylixir/mupdf,lustersir/MuPDF,ArtifexSoftware/mupdf,ziel/mupdf,xiangxw/mupdf,isavin/humblepdf,xiangxw/mupdf,TamirEvan/mupdf,ylixir/mupdf,geetakaur/NewApps,samturneruk/mupdf_secure_android,loungeup/mupdf,MokiMobility/muPDF,robamler/mupdf-nacl,tribals/mupdf,hxx0215/MuPDFMirror,asbloomf/mupdf,michaelcadilhac/pdfannot,PuzzleFlow/mupdf,sebras/mupdf,MokiMobility/muPDF,isavin/humblepdf,github201407/MuPDF,michaelcadilhac/pdfannot,ylixir/mupdf,robamler/mupdf-nacl,hackqiang/mupdf,nqv/mupdf,ArtifexSoftware/mupdf,hxx0215/MuPDFMirror,FabriceSalvaire/mupdf-cmake,Kalp695/mupdf,knielsen/mupdf,flipstudio/MuPDF,hackqiang/mupdf,clchiou/mupdf,ArtifexSoftware/mupdf,tophyr/mupdf,ccxvii/mupdf,issuestand/mupdf,wzhsunn/mupdf,lustersir/MuPDF,tophyr/mupdf,FabriceSalvaire/mupdf-cmake,wild0/opened_mupdf,github201407/MuPDF,TamirEvan/mupdf,derek-watson/mupdf,loungeup/mupdf,seagullua/MuPDF,Kalp695/mupdf,kobolabs/mupdf,clchiou/mupdf,hxx0215/MuPDFMirror,lustersir/MuPDF,muennich/mupdf,Kalp695/mupdf,zeniko/mupdf,hackqiang/mupdf,lamemate/mupdf,fluks/mupdf-x11-bookmarks,clchiou/mupdf,lolo32/mupdf-mirror,seagullua/MuPDF,muennich/mupdf,cgogolin/penandpdf,benoit-pierre/mupdf,FabriceSalvaire/mupdf-v1.3,wild0/opened_mupdf,hjiayz/forkmupdf,zeniko/mupdf,samturneruk/mupdf_secure_android,lolo32/mupdf-mirror,flipstudio/MuPDF,FabriceSalvaire/mupdf-v1.3,TamirEvan/mupdf,knielsen/mupdf,hackqiang/mupdf,MokiMobility/muPDF,ccxvii/mupdf,derek-watson/mupdf,ziel/mupdf,issuestand/mupdf,lustersir/MuPDF,ArtifexSoftware/mupdf,PuzzleFlow/mupdf,zeniko/mupdf,andyhan/mupdf,isavin/humblepdf,hxx0215/MuPDFMirror,wzhsunn/mupdf,seagullua/MuPDF,flipstudio/MuPDF,loungeup/mupdf,robamler/mupdf-nacl,poor-grad-student/mupdf,andyhan/mupdf,crow-misia/mupdf,tribals/mupdf,github201407/MuPDF,robamler/mupdf-nacl,hxx0215/MuPDFMirror,cgogolin/penandpdf,robamler/mupdf-nacl,lustersir/MuPDF,benoit-pierre/mupdf,hjiayz/forkmupdf,geetakaur/NewApps,FabriceSalvaire/mupdf-cmake,hjiayz/forkmupdf,sebras/mupdf,wzhsunn/mupdf,fluks/mupdf-x11-bookmarks,poor-grad-student/mupdf,ziel/mupdf,ArtifexSoftware/mupdf,wild0/opened_mupdf,nqv/mupdf,seagullua/MuPDF,Kalp695/mupdf,geetakaur/NewApps,ziel/mupdf,hjiayz/forkmupdf,Kalp695/mupdf,PuzzleFlow/mupdf,derek-watson/mupdf,FabriceSalvaire/mupdf-cmake,loungeup/mupdf,cgogolin/penandpdf,isavin/humblepdf,xiangxw/mupdf,nqv/mupdf,crow-misia/mupdf,cgogolin/penandpdf,crow-misia/mupdf,benoit-pierre/mupdf,seagullua/MuPDF,PuzzleFlow/mupdf,geetakaur/NewApps,kobolabs/mupdf,wzhsunn/mupdf,knielsen/mupdf,asbloomf/mupdf,wzhsunn/mupdf,samturneruk/mupdf_secure_android,Kalp695/mupdf,FabriceSalvaire/mupdf-cmake,kobolabs/mupdf,hackqiang/mupdf,seagullua/MuPDF,lolo32/mupdf-mirror,clchiou/mupdf,lustersir/MuPDF,derek-watson/mupdf,MokiMobility/muPDF,crow-misia/mupdf,Kalp695/mupdf,hjiayz/forkmupdf,FabriceSalvaire/mupdf-v1.3,wild0/opened_mupdf,hjiayz/forkmupdf,xiangxw/mupdf,fluks/mupdf-x11-bookmarks,lolo32/mupdf-mirror,nqv/mupdf