Com o JavaScript, você pode controlar o nível de zoom, embora a solução que eu encontrei não pareça suave.
Digamos que você tenha <head>
:
<meta id="vp" name="viewport" content="width=768,initial-scale=1.0">
Para ampliar para 4x e ainda permitir que o usuário altere o zoom, altere o conteúdo duas vezes:
var vp = document.getElementById('vp');
vp.content = "width=767,minimum-scale=4.0,maximum-scale=4.0,user-scalable=yes";
vp.content = "width=768,minimum-scale=0.25,maximum-scale=10.0,user-scalable=yes";
Alternar a largura é muito importante - caso contrário, o Mobile Safari tem sérios erros de repintura (devido à otimização excessiva).
Você não pode simplesmente definir initial-scale
novamente - ele é ignorado pela segunda vez.
scalesPageToFit = YES
funciona, mas altera o tamanho do conteúdo padrão. Veja minha resposta. Isso será útil para você.