Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support VCard 2.1 #187

Open
derwaldgeist opened this issue Aug 22, 2015 · 6 comments
Open

Support VCard 2.1 #187

derwaldgeist opened this issue Aug 22, 2015 · 6 comments

Comments

@derwaldgeist
Copy link

If I try to parse a vCard in 2.1 format, the parser does not accept it, since the "TYPE=" tags are missing. Is vCard 2.1 not supported?

@kewisch
Copy link
Owner

kewisch commented Aug 22, 2015 via email

@kewisch kewisch changed the title Is vCard 2.1 supported? Support VCard 2.1 Feb 1, 2016
@skjnldsv
Copy link

skjnldsv commented Oct 1, 2018

Hello! Any news on this? :)

@kewisch
Copy link
Owner

kewisch commented Oct 1, 2018

Unfortunately I won't have time in the near future to work on this, but contributions are welcome!

@caugner
Copy link
Contributor

caugner commented Apr 5, 2019

The vCard 3.0 RFC lists the following Differences From vCard v2.1:

  1. The QUOTED-PRINTABLE inline encoding has been eliminated. Only the "B" encoding of [RFC 2047] is an allowed value for the ENCODING parameter.
  2. The method for specifying CRLF character sequences in text type values has been changed. The CRLF character sequence in a text type value is specified with the backslash character sequence "\n" or "\N".
  3. Any COMMA or SEMICOLON in a text type value must be backslash escaped.
  4. VERSION value corresponding to this specification MUST be "3.0".
  5. The [MIME-DIR] predefined types of SOURCE, NAME and PROFILE are allowed.
  6. The [MIME-DIR] VALUE type parameter for value data typing is allowed. In addition, there are extensions made to these type values for additional value types used in this specification.
    7.The [VCARD] CHARSET type parameter has been eliminated. Character set can only be specified on the CHARSET parameter on the Content-Type MIME header field.
  7. The [VCARD] support for non-significant WSP character has been eliminated.
  8. The "TYPE=" prefix to parameter values is required. In [VCARD] this was optional.
  9. LOGO, PHOTO and SOUND multimedia formats MUST be either IANA registered types or non-standard types.
  10. Inline binary content must be "B" encoded and folded. A blank line after the encoded binary content is no longer required.
  11. TEL values can be identified as personal communication services telephone numbers with the PCS type parameter value.
  12. The CATEGORIES, CLASS, NICKNAME, PRODID and SORT-STRING types have been added.
  13. The VERSION, N and FN types MUST be specified in a vCard. This identifies the version of the specification that the object was formatted to. It also assures that every vCard will include both a structured and formatted name that can be used to identify the object.

Update: This translates to the following requirements (sections refer to the vCard 2.1 Specification):

  • [1] Support QUOTED-PRINTABLE inline encoding [cf. Section 2.1.2].
  • [2] Do not interpret "\n" or "\N" as a CRLF(but instead literally as "\", followed by "n" or "N").
  • [3] Do not interpret COMMA as a multi-value separator [all values are single values].
  • [3] Note: Despite what vCard 3.0 states, a SEMICOLON must also be backslash escaped in vCard 2.1. "in a component of a compound property" [cf. Section 2.1.3]
  • [4] Require VERSION to be "2.1" [cf. Section 2.6.6].
  • [5] [6] n/a
  • [7] Support CHARSET type parameter [and default to ASCII, cf. 2.1.6].
  • [8] Support non-significant WSP characters [i.e. HTAB, cf. 2.9].
  • [9] Don't require parameter name, if the value is unambiguous [e.g. for TYPE= and ENCODING=, cf. 2.1.2].
  • [10] Require TYPE of LOGO [cf. 2.5.3.1], PHOTO [cf. 2.2.3.1] and SOUND [cf. 2.6.3.1] as defined by the spec [e.g. GIF].
  • [11] Parse inline binary content according to ENCODING parameter [and default to 7-bit, cf. 2.1.5].
  • [12] Do not support the PCS type parameter value for TEL [from vCard 3.0].
  • [13] Do not support CATEGORIES, CLASS, NICKNAME, PRODID and SORT-STRING [from vCard 3.0].
  • [14] Do not require N and FN [Note: N is only required for writers, not for readers, cf. 2.2.2].
  • [14] Note: Despite what vCard 3.0 states, VERSION is also required in vCard 2.1 [cf. [4] and 2.6.6].
  • [...] Use COMMA to separate GEO values [cf. 2.4.6 versus SEMICOLON in vCard 3.0]

@schlagmichdoch
Copy link

Are you still working on this @caugner ? Would love to have the categories tag included!

@qertis
Copy link

qertis commented Oct 5, 2024

+1 needs categories

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants